多态:
是继数据抽象和继承之后的第三种基本特征。
封装是通过合并特征和行为来创建新的数据类型。
多态是用来消除类型之间的耦合关系。
java中所有的方法都是动态绑定实现多态的机制。
多态的可扩展性:
public class Music {
public static void tune(Instrument instrument){
instrument.play(Note.MIDDLE_C);
}
public static void tuneAll(Instrument[] instrument){
for (Instrument i:instrument) {
tune(i);
}
}
public static void main(){
Instrument[] i={
new Wind(),new Stringed(),new WoodWind()
};
tuneAll(i);
}
}
多态的缺陷:
1.“覆盖”私有的方法
2.域和静态方法
只有普通的方法调用可以是多态的。
构造器和多态:
构造器其实是静态(static隐式)