请把接口Car、类BMW、Audio、Benz 、 Drive放到类Test的外部来,不要定义成Test的内部类,这样就可以编译成功并正确运行。
public class Test{
public static void main (String args[]){
//Drive
Car car = Drive.driver("Benz");
car.driver();
}
}
interface Car{
public void driver();
}
class BMW implements Car{
public void driver(){
System.out.println("今天开宝马!");
}
}
class Benz implements Car{
public void driver(){
System.out.println("今天开奔驰!");
}
}
class Audio implements Car{
public void driver (){
System.out.println("今天开奥迪!");
}
}
class Drive{
public static Car driver(String car)
{
if("Benz".equalsIgnoreCase(car))
{
return new Benz();
}
else if("BMW".equalsIgnoreCase(car))
{
return new BMW();
}
else if("Audio".equalsIgnoreCase(car))
{
return new Audio();
}
else{
return null;
}
}
}