我的主要课程无法找到或加载

时间:2017-04-21 22:48:22

标签: java package

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

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和new之后的Person。 所有文件都在同一个文件中,所以我不知道这里的错误是什么。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

以下是针对您的特定用例量身定制的简短答案:

  1. 确保两个源文件位于同一目录 AND 中,该目录名为person

  2. 确保源文件名与类名匹配;即Person班级位于Person.javaMain位于Main.java。区分大小写非常重要。

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

  4. 使用以下命令编译代码:

      javac -classpath . person/*.java
    

    如果有编译错误,请修复它们并重复...直到代码编译没有错误。

  5. 按如下方式运行已编译的类:

      java -classpath . person.Main
    
  6. 有关更一般的答案,请阅读:

    从命令行构建/运行不是建议的做事方式。您最好学会使用1)像Eclipse或NetBeans这样的IDE,以及2)像Ant,Maven或Gradle这样的构建工具。