Java三大特性--继承
1、继承可以得到父类所有方法和属性,继承后可通过对象直接调用
2、类只能单继承(接口可以多继承),不能继承构造方法
3、重写父类的方法只要在子类直接写与父类方法同名方法就可以了,若重写后还想调用父类同名方法需要super.方法名
4、每个无参函数都会默认有两个隐式参数(this,super),调用方法时如果当前对象没有某方法则会向父类逐层寻找,一直找到object类若还没有此方法则会报错。
5、继承在内存里是按照包裹结构存在的,如下面这段代码:
class animal{
int age;
public void run(){
System.out.println("run1");
}
}
class bird extends animal{
int speed;
public void run(){
super.run();
System.out.println("run2");
}
}
在内存里存放模式如图(bird类中speed是属性,图中不应该有括号,手误。。。。。):
6、继承最大的有点在于代码的复用性,然而为了实现复用性,其实组合也完全可以实现,所谓组合,即在上面代码中bird类中不继承animal,可以实例化一个animal对象,通过bird.animal.方法名调用animal的方法