我正在尝试使用VS代码中的Java Extension Pack调试一个简单的Java程序。我是Java编程的新手,我读到了在VS代码https://code.visualstudio.com/docs/java/java-tutorial中编写Java以了解如何调试Java代码。我能够运行代码但是当我将我的类BicycleDemo作为public而不是包(默认)访问修饰符时,我有一个“线程中的异常”主“java.lang.Error:未解决的编译问题:”
如果我的班级BicycleDemo没有public关键字,它可以正常工作。为什么是这样?
class Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) { cadence = newValue; }
void changeGear(int newValue) { gear = newValue; }
void speedUp(int increment) { speed = speed + increment; }
void applyBrakes(int decrement) { speed = speed - decrement; }
void printStates() {
System.out.println("cadence:" + cadence + " speed:" + speed + " gear:" + gear);
}
}
public class BicycleDemo {
public static void main(String[] args) {
// Create two different Bicycle objects
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
// Invoke methods on those objects
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();
}
}
公共class
必须在具有相同名称的.java
文件中声明(并且位于与包名称对应的目录结构中,如果有的话)。
您的问题可能是包含公共BicycleDemo
的文件未命名为BicycleDemo.java
。