一,在设计继承是,你要把共同的程序代码烦在某个类中,然后告诉其他的类说此类是他们的父类,当某个类继承另外一个类的时候,也就是子类继承父类,子类会自动获得父类的功能。
1.覆盖的意思是由子类重新定义继承下来的方法以改变或延伸此方法的行为。
2.继承为了防止子类中出现重复的程序代码
3.继承让程序变得更简洁,更有效率,更简单,程序不但容易开发而且容易扩张。
4.父类不能继承子类的方法
5.子类继承父类所有的public方法和实例变量
6.子类可以继承父类的实例变量和方法,也可以加入自己的方法和实例变量,也可以覆盖掉继承父类来自父类的方法
7.实例变量没有被覆盖掉是因为他没有定义特殊的行为
8.当你调用对象引用的方法时,你会调用到与该对象类型最接近的方法,换句话说,最低阶的会胜出,最低阶的意思就是在继承树的最下面,如果虚拟机找不到,它会一直往上寻找,找到为止。
9.通过super来调用父类的方法,private类型的不会被继承
10.当某个方法在子类中被覆盖过,调用这个方法时会调用到覆盖过的版本
11.当某各类会比父类更具有特定意义时使用继承(特色过多,需要扩充)
12.被final修饰的类不能被继承,被final修饰的方法不能被重写
覆盖的规则:
1.参数必须要一样,且返回的类型也要一样
2.不能降低方法的存取权限(public不能降低为private)
方法的重载:
重载的意义是两个方法的名称相同,但是参数不同。所以重载和多态毫无关系。
重载版的方法只是有相同的名字,不同的方法而已,重载的方法与覆盖的方法不一样。
1.返回类型可以不同
2.不能只改变返回类型,参数类型必须不同
3.可以更改存取权限