从另一个项目导入类或在当前项目中创建一个类(NetBeans)

时间:2012-05-16 10:49:25

标签: java class netbeans

昨天我已经开始从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);
}
}

1 个答案:

答案 0 :(得分:2)

看起来您的import语句位于错误的位置。它应该低于包名称,并且在clas定义开始之前。

package bicycledemo;
import <yourpackagename>.Bicycle;

您可以在当前声明bike1的情况下执行此操作,但是在执行此操作时必须使用包名称和类名。

<yourpackagename>.Bicycle bike1 = new Bicycle();

您正在阅读的是关于OO编程的“概念”的教程,而不是深入的教程,教程中将进一步解释包。

你的问题可能是你做了两个项目,一个有自行车课,一个有自行车课程,对吗?如果这是正确的,那么在两个项目中你的类都在默认包中,这是不好的。要解决您的问题,请在同一项目中创建一个包含两个类的新项目。