1.结论

①:成员变量没有多态,方法才有多态
Father gay = new Son();
gay.money 是属于父类的
((Son) gay).money 才是子类的

②:Father gay = new Son(); 在执行时,会先调用父类无参构造。除非指定super(参数)方法。

③:只有被重写的方法,使用gay.xxx()调用的才是子类的!

还有更多结论 代码一跑就知道了

public class B {public B() {System.out.println("B的构造器");}public static void main(String[] args) {Father gay = new Son();System.out.println("属性没有多态,son的money: " + ((Son) gay).money);System.out.println("属性没有多态,father的money: " + gay.money);System.out.println("-----------------------------");System.out.println("-----------------------------");gay.show();  //调用的是子类重写后的方法,如果想使用父类的,必须new 父类的对象((Son) gay).showmoney();  //调用的是子类的方法gay.showmoney();    //调用的是父类private的方法gay.showfather();   //调用父类方法((Son) gay).showson();  //都用的是子类方法System.out.println("-----------------------------");System.out.println("-----------------------------");Father son = new Son(5);System.out.println("属性没有多态,son的money: " + ((Son) son).money);System.out.println("属性没有多态,father的money: " + son.money);}static class Father {public int money = 1;public Father(int money) {money = 5;System.out.println("father 有参构造");}public Father() {money = 2;showmoney();show();showfather();}private void showmoney() {System.out.println("father  --showmoney() 私有方法不会被重写");}public void show() {System.out.println("father---show()  public的重名方法会被子类重写,只调用子类的");}public void showfather() {System.out.println("father  --showfather()  父类特有的方法 会被调用");}}static class Son extends Father {public int money = 3;public Son(int money) {// super(money);money = 6;System.out.println("son 有参构造");}public Son() {money = 4;showmoney();showson();show();}public void showmoney() {System.out.println("son  --showmoney() 子类和父类重名的方法,如果父类private,子父类都调用");}public void showson() {System.out.println("son  --showson() 子类特有的方法 会被调用");}public void show() {System.out.println("son---show() public的重名方法会被子类重写,只调用子类的");}}}

java多态子父类的构造器、成员变量、方法的调用关系相关推荐

  1. java子类和父类有相同成员_Java -- 父类和子类拥有同名的成员变量的情况

    Java – 父类和子类拥有同名的成员变量取值情况 参考文章 结论: 当子类的成员变量与父类同名时,若对该成员变量进行操作的方法继承于父类,则改变和获取的是父类的成员变量.若对该成员变量进行操作的方法 ...

  2. Java学习 第十五章 成员变量和局部变量的区别 / 三大特征之一 (封装性)/构造方法 /private关键字

    第十五章 局部变量和成员变量: 1.定义位置不一样 局部变量:在方法内部定义 成员变量:在方法的外部,直接写在类当中 2.作用范围不一样 局部变量:只能在方法当中使用 成员变量:整个类都可以使用 3. ...

  3. java getfield_Java Class.getField()/getDeclaredField()返回成员变量

    首页 > 基础教程 > 反射 > Reflection API Java Class.getField()/getDeclaredField()返回成员变量 Class.getFie ...

  4. [转载] 面试题:说说Java中接口、类、成员变量、成员方法、构造方法有哪些访问修饰符和他们的作用范围

    参考链接: Java中的访问修饰符 * 问题:说说Java中接口.类.成员变量.成员方法.构造方法有哪些访问修饰符和他们的作用范围 * 答:接口的访问修饰符只有public 1个 *    类的访问修 ...

  5. (09)System Verilog 父类与子类成员变量同名冲突

    (09)System Verilog 父类与子类成员变量同名冲突 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog 父类与子类成员变量同 ...

  6. java系列8:private修饰的成员变量怎么传参

    可以使用getter,setter方法 package drchen.java.day06.demo04;public class Student {// 成员变量private String nam ...

  7. java成员变量默认是_在Java语言中,String类型的成员变量的默认初始值是( )

    在Java语言中,String类型的成员变量的默认初始值是( ) 答:C.null 学生最主要的权利是() 答:受教育权 提倡教育要适合孩子的 "敏感期"的教育家是 答:蒙台梭利 ...

  8. 重学Java(035)——Java基础知识(类作为成员变量、接口作为成员变量、接口作为方法参数和返回值类型)

    学习内容:三种引用类型用法 一.类作为成员变量 二.接口作为成员变量 三.接口作为方法参数和返回值类型 实际的开发中,引用类型的使用非常重要,也是非常普遍的.我们可以在理解基本类型的使用方式基础上,进 ...

  9. java -----多态:父类引用指向子类对象

    生活中的人物视角 程序中的多态 概念:父类引用指向子类对象,从而产生多种形态 一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定 比 ...

最新文章

  1. hadoop分布式文件系统hdfs的概念和特性
  2. Python中的Numpy(5.numpy排序)
  3. Hadoop中通过ToolRunner和Configured实现直接读取命令行动态出入reduce task数量,jar文件等
  4. python编写脚本替换 jar包文件_shell-替换jar包中配置文件脚本
  5. js 提取某()特殊字符串长度
  6. 计算机应用的问答题,计算机应用技术问答题(一)
  7. cesium+ geoserverTerrainProvide+png展示3D高程图展示
  8. idea运行android usb调试,IntelliJ IDEA
  9. 不读后悔:风口上的仓储自动化
  10. ATV930变频器转矩控制如何设置?
  11. 团队协作工具调研笔记
  12. Mysql 关闭3306端口设置远程访问
  13. 平价的蓝牙耳机哪家质量好?学生党公认的五款高品质蓝牙耳机
  14. mac dreamveaver cc破解方法
  15. Easymock十分钟入门
  16. MongoDB数据迁移之迁移工具Kettle
  17. Onion-Peel Networks for Deep Video Completion
  18. 【Windows8开发】关于WinRT组件,WinRT dll,Win32 dll,WinRT exe组件的一些尝试
  19. jQuery插件Magnify放大镜实现javascript图片放大功能
  20. 必读的数据库领域论文

热门文章

  1. linux 限额系统,Linux磁盘限额(quota)
  2. hashmultimap java_【Java 学习笔记】 HashMultimap(guava)
  3. loardrunner- 集合点函数设置
  4. Guava学习笔记:EventBus(转)
  5. RFID开发利器 proxmark3
  6. 使用控制结构——循环语句——基本循环
  7. Linux游戏开发包 ClanLib 2.1.0 发布
  8. RocketMQ中消息的优先级
  9. 三十六、【减小apk包的体积】
  10. 有些车已经不能再买了!因为国五排放标准就要来了!