java 三大特性
super
-
super 调用父类的构造方法,必须在构造方法的第一个
-
super必须只能出现在子类的方法或构造方法中
-
super与this不能同时出现在构造方法中
vs this
代表的对象不同
this 代表当前这个对象
super 代表父类对象的应用
前提
this 没有继承也可使用
super 只在继承条件下使用
构造方法的区别
this 默认调用本类的构造
super() 父类的构造
方法重写
-
重写与属性没有半毛钱关系 重写都是方法的重写,与属性无关
-
静态方法与非静态方法有很多区别
静态方法 与左边有关
非静态方法与右边有关
-
上图叫子类A重写了父类的方法,未用stidic 时结果 与右边有关
对象能执行那些方法看的是左边,即父类不能直接用子类方法。。
重写的关键词只能是public。 而重载是本类的,只是参数列表不同
总结
重写:需要有继承关系,子类重写父类的方法
-
方法名必须相同
-
参数列表必须相同
-
修饰符 范围可以扩大但不能缩小 public>protected>default>private
-
抛出的异常 范围--可以被缩小,但不能扩大 ClassNotFoundException-->Exception(大)
-
子类的方法和父类的方法一致,只是方法体可以不同
-
子类一旦重写父类的方法,则父类也要执行子类方法
-
对象能执行那些方法看的是左边
-
stitic final private 三个修饰符无法重写
为什么需要重写
1.父类的功能子类不一定需要,或者不一定满足子类方法
voerride 重写
多态
总结
-
多态是方法的多态,属性没有多态
-
父子直接的关系可以转换 ClassCastException ! --说明父子类直接出现问题
-
存在条件 1.继承关系,2.方法需要重写 3.父类引用指向子类 Father s1 =new son();
instanceof
浙公网安备 33010602011771号