/**
* 功能:实现卖汽车(接口,多态问题)
* @author Java初学者
* 我的问题在主函数附近注释了出来!
*/
//汽车接口
interface Car
{
String getName();
int getPrice();
}
//宝马车
class BMW implements Car
{
public String getName()
{
return "BMW";
}
public int getPrice()
{
return 300000;
}
}
//桑车
class Santana implements Car
{
public String getName()
{
return "Santana";
}
public int getPrice()
{
return 50000;
}
}
//奥迪车
class Audi implements Car
{
public String getName()
{
return "Audi";
}
public int getPrice()
{
return 200000;
}
}
//4S店
public class Carshop {
static int money=0;
public void sellcar(Car car)
{
System.out.println("车型:"+car.getName()+ "价格:"+car.getPrice());
money+=car.getPrice();
}
public static void main(String []args)
{
Carshop carshop=new Carshop();
carshop.sellcar(new Audi());//请问这里为什么要有new 和 ()
carshop.sellcar(new BMW());
carshop.sellcar(new Santana());
System.out.println("共计:"+money);
}
}
理解如下:
Carshop carshop = new Carshop();carshop.sellcar(new Audi());
创建Carshop对象,用来访问其方法sellcar( )。方法可接收参数类型是Car类或者其子类对象。
new Audi()是:创建Audi类型的对象。语法格式是:new Audi();