Basic Java-文本编辑器中的编码,尽管它们位于同一包中“无法找到符号”,但是无法从其他文件创建新对象

洛根

这段代码可以很好地编译:

人.java

package people;

class Person{
    private String name;
    private int age;

public Person(String name, int age){
    this.name = name;
    this.age = age;

}

public String getName(){
    return name;
}

public void setName(String name){
    this.name = name;
}

public int getAge(){
    return age;
}

public void setAge(int age){
    this.age = age;
}

}

这不是:

controller.java

package people;
public class controller{
    public static void main (String[] args){

        Person mark = new Person();
        mark.setName("Mark");
        mark.setAge(24);

    }
}

我收到此编译错误:

C:\Program Files\Java\jdk1.8.0_66\classes\controller.java:7: error: cannot find symbol
        Person mark = new Person();
        ^
  symbol:   class Person
  location: class controller
C:\Program Files\Java\jdk1.8.0_66\classes\controller.java:7: error: cannot find symbol
        Person mark = new Person();
                          ^
  symbol:   class Person
  location: class controller

我对此进行了很多研究,似乎无法弄清楚。我是否尝试在controller.java文件中错误地实例化该对象?谢谢。

杰斯珀

您的类Person具有一个带有两个参数aString和an的构造函数int但是,您尝试Person使用不带参数的构造函数创建对象:

Person mark = new Person();

您需要将参数传递给构造函数:

Person mark = new Person("Mark", 24);

当然set...(),此后您无需再调用这些方法。

Java编译器会自动在类中创建不带参数的构造函数,但前提是您根本没有在类中显式添加任何构造函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档