Java应用程序不显示输出
这是我更新的代码:
package car1;
公共类Main {
public static void main(String [] args){
class HondaCivic实现car1 {
int speed = 0; int rpm = 0; int gear = 1; public void speedUp(int Increment) { speed = speed + Increment;} public void applyBrakes(int Decrement) { speed = speed - Decrement;} public void changeRpm(int NewValue) { rpm = NewValue;} public void changeGear(int NewValue) { gear = NewValue;} public void printStates() { System.out.println("speed:"+speed+" rpm:"+rpm+" gear:"+gear);}
}
class CarDemo{ public void main(String[] args) { // Two different Cars HondaCivic car1 = new HondaCivic(); HondaCivic car2 = new HondaCivic(); // Methods for cars car1.speedUp(30); car1.changeGear(3); car1.changeRpm(3000); car1.applyBrakes(15); car1.printStates(); car2.speedUp(30); car2.changeGear(3); car2.changeRpm(2000); car2.applyBrakes(15); car2.speedUp(5); car2.changeGear(1); car2.printStates(); }
}}}
应用程序不会显示输出。 我不知道该怎么做。 任何建议?
与大多数编程语言一样,Java区分大小写。 Class
与class
。
Java区分大小写:
Class HondaCivic implements Car {
与法律语法不同:
class HondaCivic implements Car {
接口需要从其父级实现所有方法。 你正在实现除了之外的一切
printStates()
另外,检查类声明的区分大小写。
编辑:nvm未声明为抽象
你的代码有很多问题。
首先让Car成为界面Car的界面
第二步将所有代码从HondaCivic
移动到Car
,将所有代码从Car
转移到HondaCivic
即交换代码,因为接口只能有方法声明和变量而不是实现。 实现接口的类需要提供所有这些方法的实现。
最后在main方法中编写此代码而不是用于制作Car实例的代码
Car car1 = new HondaCivic(); Car car2 = new HondaCivic();
然后它将编译并运行。
我可以发现一些问题,其中一些问题可能已经修复过:
-
Class
需要在第二个类的定义中为class
(小写)。 -
Car
不是接口,因此您必须extend
它而不是实现它。 -
HondaCivic
不是抽象的或接口,所以它必须为每个方法都有方法体; 或者,将方法从HondaCivic中取出,在这种情况下,将使用Car
的方法。
在你当前的类布局中,如果制作一个Honda Civic对象而不是一个类,它会更有意义,因为它没有新的function:
Car hondaCivic = new Car();