两种方式组合和继承

1 组合:直接new出来,2 继承extends(继承一个类后要调用父类的构造器,保证父类使用前被初始化),组合更灵活。
image.png

代理

在代理类中new出需代理的类,然后用自己的方法包装需代理类的方法,隐藏需代理类的方法
image.png
image.png

再论重载:在子类中也可以重载父类的方法,
image.png
重写:与基类完全相同的方法签名和返回值(可以返回协变类型)
重载和重写都体现了多态。

向上转型

image.png
两种方式
Instrument i=new Wind();

2直接传递子类对象,作为基类对待
image.png

final

final数据(要保证一定要被初始化,无默认值,不可被改变,只能参与运算),final 参数(相当于被指定的对象能是传过来的那个,并且不能被重新new出来),final类(不可被继承。类里的方法被指定为final 不可被overwrite),final和static(private是隐式final)方法不可被overwintering)