zoukankan      html  css  js  c++  java
  • (原)java 向上转型中,任何域的访问操作都是由编译器解析,不是多态

    最近在向java发力,学习学习了下。看到了多态这一节,书中有个比较好的例子,所以就准备写下来,记录下来:

     1 package dynamic_binding01;
     2 
     3 public class dynamic_binding01 {
     4 
     5     public static void main(String[] args) {
     6         // TODO Auto-generated method stub
     7         Super super1=new Sub();
     8         System.out.println("sup.field="+super1.field+",sup.getField="+super1.getField());
     9         Sub sub=new Sub();
    10         System.out.println("sub.field="+sub.field + ",sub.getField="+sub.getField() + ",sub.getSuperField="+sub.getSuperField());
    11         
    12     }
    13 
    14 }
    15 
    16 class Super{
    17     public int field=0;
    18     public int getField(){
    19         //System.out.println("Super class getField");
    20         return field;
    21     }
    22 }
    23 
    24 class Sub extends Super{
    25     public int field=1;
    26     public int getField(){
    27         //System.out.println("Sub class getField");
    28         return field;
    29     }
    30     public int getSuperField(){
    31         //System.out.println("Sub class getSuperField");
    32         return super.field;
    33     }
    34 }

    运行结果为:

    1 sup.field=0,sup.getField=1
    2 sub.field=1,sub.getField=1,sub.getSuperField=0

    总结:子类在向上转型为父类后,任何域的访问操作都是由编译器进行绑定的,所以不是多态的。

  • 相关阅读:
    xpath 笔记
    实验四 决策树算法及应用
    实验三 朴素贝叶斯算法及应用
    机器学习 实验二 K-近邻算法及应用
    实验一 感知器及其应用
    JAVA学习路线
    实验三 面向对象分析与设计
    实验二 结构化分析与设计
    实验1:软件开发文档与工具的安装与使用
    ATM管理系统
  • 原文地址:https://www.cnblogs.com/lihaiping/p/5837531.html
Copyright © 2011-2022 走看看