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");