2023-04-15
2023-04-14 本文已影响0人
JCXQ
第9周,多态调用成员变量:编译看左边,运行也看左边,编译看左边:javac编译代码的时候,会看左边的父类中有没有这个变量,如果有,编译成功,如果没有编译失败。运行也看左边:javac运行代码的时候,实际获取的就是左边父类中成员变量的值。调用成员方法:编译看左边,运行看右边。编译看左边:javac编译代码的时候,会看左边的父类中有没有这个方法,如果有,则编译成功,如果没有编译失败。运行看右边:java运行代码的时候,实际上运行的是子类中的方法。多态的弊端:不能调用子类的特有功能。其原因:当调用成员方法的时候,编译看左边,运行看右边。那么在编译的时候会先检查左边的父类中有没有这个方法,如果没有直接报错。解决方案:变回子类型就可以了。细节:转换的时候不能瞎转,如果转成其他类的类型,就会报错。继承中构造方法的访问特点是什么?1.子类不能继承父类的构造方法,但是可以通过supe调用;2.子类构造方法的第一行,有一个默认的super();3.默认先访问父类中无参的构造方法,在执行自己;4.如果想要方法访问父类有参构造,必须手动书写。