站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题automoblie[] cars=new automoblie[5];接口不能new

automoblie[] cars=new automoblie[5];接口不能new

摘要: automoblie[] cars=new automoblie[5];接口不能new



mport java.util.*;
interface automoblie{
int i=5;
void accelent();
void maintain();
String forward();
String reverse();
}
class little_car implements automoblie{
public void accelent(){
System.out.println("little_car.accelent()");

}
public void maintain(){}
public String forward(){ return "little_car forward";}
public String reverse(){ return "little_car reverse";}


}
class big_car implements automoblie{
public void accelent(){
System.out.println("big_car.accelent()");
}
public void maintain(){}
public void String forward() { return "big_car forward";}
public void String reverse() { return "big_car reverse";}


}
class jeep implements automoblie{
public void accelent(){
System.out.println("jeep.accelent()");
}
public void maintain(){}
public void String forward(){ return "jeep.forward";}
public void String reverse(){ return "jeep.reverse";}


}
class microbus extends big_car{
public void accelent(){
System.out.println("microbus.accelent()");
}
public void maintain(){
System.out.println("microbus.maintain()");
}
}
class bus extends big_car{
public String forward(){ return "bus forward";}
public String reverse(){ return "bus reverse";}



}
public class car{
public static void main(String[] args[]){
automoblie[] cars=new automoblie[5];
int i =0;
cars[i++]=new little_car();
cars[i++]=new big_car();
cars[i++]=new jeep();
cars[i++]=new microbus();
cars[i++]=new bus();
for(i=0;icars[i].accelent();

}
}


automoblie[] cars=new automoblie[5];
接口不能new


lz定义了这么多的Car,只有Class jeep实现了接口中全部四个方法,其它的类只实现了部分方法,编译通不过。


一个类implement一个接口,那么必须实现该接口定义的所有方法,你还有类并没有实现这个接口中的方法,所以通不过编译了


汗 楼上2位 人家都实现了 你们编译不通过是应为
public void String forward(){ return "jeep.forward";}
public void String reverse(){ return "jeep.reverse";}
这个算笔误把 去掉 void就能编译了


楼上的正解


又认真看了一遍,并且在eclipse中运行了一下,没有看到什么错误,不知楼主所说的错误是什么?


哈哈 昨天没跑 今天看了下
public static void main(String[] args[]){<---这样定义变成2维的了

至于我说不能new,那是说错了。这个new仅仅是分配空间


学习一下..........


upupup


希望大家多犯点错误
也好以后自己注意~~~~


想知道楼主 接口中的 int=5 是干什么的?



谢谢大家,


谢谢了


↑返回目录
前一篇: 十进制的数转成二进制怎么转?
后一篇: 谁能给我讲一下怎么在命令窗口中运行java程序啊????谢谢了