Java 找不到符号:构造函数
当我编译时,我得到一个错误: 找不到符号 符号:施工队() 有没有办法解决这个问题? 非常感谢Java 找不到符号:构造函数,java,Java,当我编译时,我得到一个错误: 找不到符号 符号:施工队() 有没有办法解决这个问题? 非常感谢 Miles提供默认构造函数来解决错误您还需要向类中添加非参数构造函数。当您试图在此处调用非参数构造函数时: Team team = new Team(); 只需将此项添加到您的类中: public Team() { } 通常,当类中没有定义构造函数时,编译器会向其添加一个默认的非参数构造函数。但如果添加了任何非默认构造函数,那么编译器将不会添加默认的非参数构造函数。需要如上所述手动
Miles提供默认构造函数来解决错误您还需要向类中添加非参数构造函数。当您试图在此处调用非参数构造函数时:
Team team = new Team();
只需将此项添加到您的类中:
public Team() {
}
通常,当类中没有定义构造函数时,编译器会向其添加一个默认的非参数构造函数。但如果添加了任何非默认构造函数,那么编译器将不会添加默认的非参数构造函数。需要如上所述手动添加的构造函数。如果在类中显式创建任何构造函数,编译器不会提供默认构造函数。您需要显式地创建
无参数
构造函数
如果一个类没有显式声明,Java编译器
自动提供无参数构造函数,称为默认构造函数
构造器。此默认构造函数调用类父类的
没有参数构造函数,如果类没有
其他家长。如果父对象没有构造函数(对象确实有构造函数),
编译器将拒绝该程序
更新代码-
在团队类中,没有默认构造函数,但您使用它创建了对象。 试试看
如果您有其他构造函数,则必须自己定义一个无参数构造函数,因为Java仅在未定义其他构造函数的情况下提供默认的无参数构造函数。您定义的构造函数是公共团队(字符串名称、字符串位置),它接受两个参数 但是,您调用的构造函数是Team(),它不接受任何参数,这意味着它是与Team不同的构造函数(字符串名称、字符串位置),因为它们具有不同的参数列表
如果要创建一个空的团队对象,也应该定义一个Team()无参数构造函数,此处无效。因为您要通过以下方式覆盖它
public Team(String name, String location) {
}
所以你不能做teamteam=newteam()代码>
而不是这个尝试
Team team = new Team("Name","Location");
因为构造函数只接受两个字符串参数。或者,您可以向团队类添加无参数构造函数。阅读错误消息?很清楚,;您试图使用一个不存在的构造函数。
public class Team {
public String name;
public String location;
public double offense;
public double defense;
public Team(){}
public Team(String name, String location) {
}
public static void main(String[] args) {
System.out.println("Enter name and location for home team");
Scanner tn = new Scanner(System.in);
Team team = new Team();
team.name = tn.nextLine();
Scanner tl = new Scanner(System.in);
team.location = tl.nextLine();
}
}
public Team(String name, String location) {
}
Team team = new Team("Name","Location");