2017-04-21 33 views
-1

我刚开始使用Java包,并希望首先做一些简单的事情。所以我做了2个类,我得到一个错误,为什么我创建了第二类的对象。我的主类不能找到或加载

Error: Could not find or load class main 

我得到使用

javac *.java 

下面这个错误是我的代码

package person; 
public class Main { 


public static void main(String[] args) { 
    Person p1 = new Person(); 
    p1.setFirstName("John"); 
    p1.setAge(20); 
    System.out.println(p1.getAge()); 
} 

} 

,二类

package person; 
public class Person { 

private String firstName; 
private int age; 

public Person() { 
} 
public void setFirstName (String n) 
{ 
    firstName = n; 
} 
public void setAge(int a) 
{ 
    age = a; 
} 
public int getAge() 
{ 
    return age; 
} 

} 

当我由一个编译文件中的一个我得到这个错误

Error: cannot find symbol 
Person p1 = new Person(); 

它指向p1之前的Person和新的Person之后的Person。 所有文件都在同一个文件中,所以我不知道这里的错误是什么。

+0

可能重复[如何在java中编译包?](http://stackoverflow.com/questions/10546720/how-to-compile-packages-in-java) – starcorn

回答

0

您未在文件中导入包含Main类的Person。

+0

Ops,我没有看到他们在同一个包里 –

+0

反正这不会导致那个错误 –

0

这里是您的具体使用情况量身定做一个简短的回答:

  1. 确保两个源文件在同一目录该目录被命名为person

  2. 确保源文件名与类名匹配;即Person类别在Person.java中,并且MainMain.java中。区分大小写很重要。

  3. 将目录更改为person的父目录。

  4. 编译代码使用此命令:

    javac -classpath . person/*.java 
    

    如果有编译错误,解决这些问题,并重复......直到代码编译没有错误。

  5. 运行编译的类如下:

    java -classpath . person.Main 
    

对于更普遍的答案,请阅读本:


BUIL从这样的命令行执行/运行并不是推荐的方式。你最好学习使用1)像Eclipse或NetBeans这样的IDE,2)像Ant,Maven或Gradle这样的构建工具。

相关问题