父类:共同的程序代码
子类:可继承父类的方法及实例变量
子类的操作:
可创建自己的方法去覆盖父类方法,但无法覆盖实例变量
当父类方法及实例变量为私有的,即private时,子类不会继承
可继承多个父类(多态)、当方法有重复时,使用就近原则
X IS-A Y,判断X是否继承自Y,为单向的。
覆盖时的注意事项:
参数一致,返回类型必须兼容(一样的类型或者该类型的子类)
不同降低方法的存储权限(相同的权限,或者子类的权限更加开放)
重载:
重载的意义是两个方法的名称相同,但参数不同,与多态并没有什么意义
只要参数不同,返回的类型是什么都唔所谓。
但是不能够参数一致,但是返回类型不一样。
extends
运用多态:
引用类型可以为实际对象类的父类
animal[] animals=new animal[3];
animals[1]=new dog();
animals[2]=new cat();
animals[3]=new wolf();
参数及返回类型可以多态:
class vet{
public void hot(animal a){
//执行代码
}
}
public void start(){
vet v=new vet()
dog d=new dog();//dog为animal的子类
v.hot(d)
}