2012-05-16 22 views
1

昨天我已经开始从Oracle站点学习Java教程,并且第一个程序(Bicycle :)有问题。我只用一个类(class Bicycle)创建了项目,然后打开新项目并编写了创建两个Bicycle对象并调用其方法的类。当我尝试构建项目时收到错误消息:从其他项目导入课程或在当前项目中创建课程(NetBeans)

"error: cannot find symbol Bicycle bike1=new Bicycle(); symbol: class Bicycle location: class BicycleDemo"

我试过右键单击库并添加项目 - 没有工作,试图在当前项目中创建新类(具有相同的内容) - 没有工作。该怎么办?

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(); 
} 
} 

而且我也有整个C:\用户\能条\文件\项目BicycleDemo图书馆的NetBeansProjects \自行车文件。 代码Bicycle.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

您说'Bicycle'类在另一个不是'BicycleDemo'类的项目中,并且您已经将项目添加到构建路径中(似乎您正在使用Eclipse,这是否正确)。但是你在BicycleDemo类中使用'进口自行车'吗?另外,如果您将代码添加到问题中,这会有所帮助,这样您可以获得更有针对性的异常。 – George

+0

请发布您的代码,以便您可以得到帮助。 – ChadNC

+1

因此,你有一个单独的项目,其中有Bicycle类,并且你想将这个类导入到这个项目中并在BicycleDemo类中使用那个类? – ChadNC

回答

2

看起来你的import语句是在错误的位置。它应该低于软件包名称并在clas定义的开头之前。

package bicycledemo; 
import <yourpackagename>.Bicycle; 

你可以做到这一点,你正在申报bike1但你必须当你使用thepackage名和类名。

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

什么你正在阅读是关于面向对象编程的“概念”,并没有进行深入的教程教程,包沿教程进一步解释。

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

+0

什么是包名?我刚刚做了一个类:新文件 - > Java-> Java类。现在我有Bicycle项目和“Bicycle.java”,它的包名是哪里? – foki

+0

教程说“自行车bike1 =新自行车();” http://docs.oracle.com/javase/tutorial/java/concepts/class.html – foki

+0

你正在阅读的是关于面向对象编程的“概念”教程,而不是深入的教程。包在本教程中进一步解释。你做了两个项目,一个有自行车课,一个有bicycledemo课,对吗?如果正确,那么在这两个项目中,你的课程都是默认包装,这是不好的。在同一个项目中创建一个包含两个类的新项目。 – ChadNC

相关问题