昨天我已经开始从Oracle网站学习Java教程,我对第一个程序(Bicycle :)有疑问。我只使用一个类(class Bicycle
)创建项目,然后打开新项目并编写创建两个Bicycle
对象的类并调用它们的方法。当我尝试构建项目接收错误消息时:
"error: cannot find symbol
Bicycle bike1=new Bicycle();
symbol: class Bicycle
location: class BicycleDemo"
。
我试图右键单击Libraries并添加Project - 没有用,试图在当前项目中创建新类(具有相同的内容) - 没有用。该怎么办?
package bicycledemo;
/**
*
* App witch simulates using of Bicyle class.
*/
public class BicycleDemo {
import Bicycle;
public static void main(String[] args) {
Bicycle bike1=new Bicycle();
Bicycle bike2=new Bicycle();
bike1.changeCadence(34);
bike1.increaseSpeed(3);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(3);
bike2.increseSpeed(12);
bike2.printStates();
}
}
我还在项目BicycleDemo的库中拥有完整的C:\ Users \ nojo \ Documents \ NetBeansProjects \ Bicycle文件。 Bike.java代码:
public class Bicycle {
int cadence=0;
int speed=0;
int gear=1;
void changeCadence(int newValue){
cadence=newValue;
}
void increaseSpeed(int increase){
speed=speed+increase;
}
void applyBreaks(int decrease){
speed=speed-decrease;
}
void changeGear(int gearNumber){
gear=gearNumber;
}
void printStates(){
System.out.println("cadence:" + cadence + "speed:" + speed +
"gear:" + gear);
}
}
答案 0 :(得分:2)
看起来您的import语句位于错误的位置。它应该低于包名称,并且在clas定义开始之前。
package bicycledemo;
import <yourpackagename>.Bicycle;
您可以在当前声明bike1的情况下执行此操作,但是在执行此操作时必须使用包名称和类名。
<yourpackagename>.Bicycle bike1 = new Bicycle();
您正在阅读的是关于OO编程的“概念”的教程,而不是深入的教程,教程中将进一步解释包。
你的问题可能是你做了两个项目,一个有自行车课,一个有自行车课程,对吗?如果这是正确的,那么在两个项目中你的类都在默认包中,这是不好的。要解决您的问题,请在同一项目中创建一个包含两个类的新项目。