1.继承
(1)认识继承
(继承的好处:1.代码复用;2.减少代码的重复)
案例:
(teacher继承了people的get(取值)和set(赋值)方法,但没有继承name变量因为私有化了,只能通过方法间接去使用name)
(2)权限修饰符
(类只能 public / 默认,不能用private、protected)
(3)继承的特点
(学到这里有一个感悟就是要懂得利用多种学习方法,比如上面的反证法可以帮助你更好理解为什么java不支持多继承,有时候一个问题想不通时可以换一个角度说不定就容易理解了)
(案例:
(一个java文件里只能有一个public外部类,并且要与类名一致,其他的类只能是默认(省)外部类,如上的例子中Test2就是public外部类,其他的都是默认(省)外部类)
(4)方法重写
(使用时@Override写在方法的上面(记得去掉//),可以校验方法名和形参列表是否与被重写方法一致;私有方法不能被重写,因为子类无法继承该方法)//静态方法不能重写??(重新想了一下还好像重写了没有意义啊,如果需要还不如直接再造一个新的静态方法)
(5)子类构造器的特点
(必须调用父类的构造器(无参有参都可以),如果不能调用就会报错)
场景:
补充:
2.多态
(1)认识多态
(方法:编译看左(编译时,能调用哪些方法,看左边引用类型(父类),子类独有的方法不能调用)运行看右(运行时,如果该方法被子类重写,执行右边实际对象(子类)的重写方法);成员变量:编译和运行都看左,所以说成员变量不谈多态)