public class Game {
public void start(){
System.out.println("开机,准备就绪");
}
public void play(){
System.out.println("我要打游戏");
}
public void end(){
System.out.println("关机,睡觉");
}
}
public class DNF extends Game{
public void play(){
System.out.println("干就完了");
}
}
public class LOL extends Game{
public void play(){
System.out.println("上盖伦,拜拜");
}
}
public class CS extends Game{
public void play(){
System.out.println("没有八倍镜,照样团灭");
}
}
public class Player {
public void happy(Game game){
game.start();//一定是父类中的方法
game.play();//有可能是子类中的方法
game.end();//一定是父类中的方法
System.out.println("开心");
}
}
public class Client {
public static void main(String[] args) {
Game game1=new DNF();//向上转型
Game game2=new LOL();
Game game3=new CS();
Player p=new Player();
p.happy(game1);
p.happy(game2);
p.happy(game3);
}
}
运行结果
开机,准备就绪
干就完了
关机,睡觉
开心
开机,准备就绪
上盖伦,拜拜
关机,睡觉
开心
开机,准备就绪
没有八倍镜,照样团灭
关机,睡觉
开心
Process finished with exit code 0
(自主学习,侵权可删)