JAVA:多态有什么用呢?跪求解答~~~~~~~~~~~~~~~~~~~~

来源:百度知道 编辑:UC知道 时间:2024/05/15 09:33:10
子类重写了父类的方法,可为啥要用父类创建个引用来引用子类的对象呢?
用子类创建引用来引用子类的对象不是一样吗?

例如 China a= new China();
Earth b=new China();

Earth是China的父类...

当然可以,但那就不是多态的使用了,多态是指可以给父类的引用传一个子类的对象,来完成父类的功能。
比如公司的老板要买一台电脑玩游戏,电脑有好的还有不好的,但是老板只想能玩游戏就行了(这个老板不知道配置好不好对于玩游戏会产生直接的影响)
底下的员工要是给他买好的,老板就玩着舒服,要是买不好的,老板就玩着郁闷。设计类如下:
// 电脑类,假定电脑都能玩游戏
class Computer()
{
public void playGame()
{
System.out.println("game start");
}
}
//好电脑,配置高
class GoodComputer extends Computer()
{
public void playGame()
{
System.out.println("游戏运行速度快");

}
}
//不好的电脑,配置低
class BadComputer extends Computer()
{
public void playGame()
{
System.out.println("游戏运行速度很慢,老是卡");

}
}
//老板只知道玩游戏,所以调用电脑的玩游戏的方法
class Boss
{
void play(Computer C)
{
C.playGame();
}
}
// 测试类
public class Test()
{
Boss boss= new Boss();
Computer com = new GoodComputer();//
boss.play(com);
//给play方法传递了一个GoodCompute