1.protected的复用
protected一般在开发中很少用到,适用的场景一般是一个方法功能对客户端保持私有,但是对于它的子类可以进行操作
package leaning;
public class Orc extends Villain{
private int OrcNumber;
package leaning;
public class Wind extends Instrument{
public static void main(String[] args) {
Wind wind = new Wind();
Instrument.tune(wind);//向上转移
}
}
class Instrument{
public void play(){
}
public static void tune(Instrument i){
i.play();
}
}
2.继承自己的向上转移:
向上转移的思想一般是在继承中,有点像接口,他的子类和父类之间有关系的,子类指向父类,如果在一个引用参数时候定义的是它的父类,在传递参数时候可以是子类
Orc(String name,int OrcNumber){super(name);this.OrcNumber=OrcNumber;}public String toString(){return "Orc "+OrcNumber+" : "+super.toString();}public static void main(String[] args) {Orc orc = new Orc("HX",11);System.out.println(orc);orc.set("GH");System.out.println(orc);}}class Villain{ private String name;Villain(String name){this.name=name;}protected void set(String num){this.name=num;}public String toString(){return "I am Villain and my name is"+name;}}