gpt4 book ai didi

java - 基本 Java - 在文本编辑器中编码,无法从不同文件创建新对象,尽管它们位于同一包中 "Cannot find symbol"

转载 作者:太空宇宙 更新时间:2023-11-04 13:10:08 24 4
gpt4 key购买 nike

这段代码编译得很好:

Person.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 有一个构造函数,它接受两个参数:一个 String 和一个 int。但是,您尝试使用不带参数的构造函数创建 Person 对象:

Person mark = new Person();

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

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

当然,此后您不再需要调用 set...() 方法。

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

关于java - 基本 Java - 在文本编辑器中编码,无法从不同文件创建新对象,尽管它们位于同一包中 "Cannot find symbol",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34050935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com