方法的重写重载
对象的向上转型(丢失掉子类的特有方法)
1.使用继承
2.子类重写父类的方法
3.父类使用子类的方法
instanceof
判断对象是否属于类
package com.jredu.ch06; //父类 public abstract class Artist { public abstract void make(); }
package com.jredu.ch06; public class Piano extends Artist{ @Override public void make() { // TODO Auto-generated method stub System.out.println("我在弹钢琴"); }
public void play(){
System.out.println("55555");
}
}
package com.jredu.ch06; public class Flute extends Artist{ @Override public void make() { // TODO Auto-generated method stub System.out.println("我在吹口琴"); }
public void play(){
}
}
package com.jredu.ch06; public class AritistTest { public static void main(String[] args) {
//向上转型 Artist art; art = new Piano(); //父类引用子类对象 损失子类特有的属性和方法 art.make(); art = new Flute(); //父类引用子类对象,但不能调用子类的play()方法 art.make();
//向下转型 恢复子类特有的属性和方法
Piano art1 = new Piano();
if(artist instanceof violin){
sysout("假");
}else{
sysout("真");}
art1 = (Piano) art;
art1.play();
}
}