Java 使用参数创建构造函数

Java 使用参数创建构造函数,java,parameters,constructor,Java,Parameters,Constructor,这可能是一个愚蠢的问题,但我无法运行我的程序。 我必须: 向Hero添加一个构造函数,该构造函数仅将世界作为参数。不要在构造函数中执行任何操作,除非将World实例变量设置为传入的参数 到目前为止我有 public Hero(World world){ this.world = world; } 是这样吗?以后我一直在尝试在程序中调用world,但它不起作用。这确实是定义以参数作为输入的构造函数的方法 您可能忽略的一个问题是,调用构造函数时,必须向其提供一个值。例如,如果您定义了一个类

这可能是一个愚蠢的问题,但我无法运行我的程序。
我必须:

向Hero添加一个构造函数,该构造函数仅将世界作为参数。不要在构造函数中执行任何操作,除非将World实例变量设置为传入的参数

到目前为止我有

public Hero(World world){
    this.world = world;
}

是这样吗?以后我一直在尝试在程序中调用world,但它不起作用。

这确实是定义以参数作为输入的构造函数的方法

您可能忽略的一个问题是,调用构造函数时,必须向其提供一个值。例如,如果您定义了一个类
Hero

public class Hero {

    private World world;

    public Hero (World world) {
        this.world = world;
    }

}
无法用以下内容构建
英雄

Hero hero = new Hero(); 您还必须定义一个类
World
(在名为
World.java
的文件中)。例如,此存根:

public class World {

}
(如果您自己不提供构造函数,Java将定义一个)

根据编译项目的方式(使用IDE、使用命令行等),有时需要自己将此文件添加到项目中,或使用以下方法编译:

javac Hero.java World.java

(可能还有其他
.java
文件)

这确实是定义以参数作为输入的构造函数的方法

您可能忽略的一个问题是,调用构造函数时,必须向其提供一个值。例如,如果您定义了一个类
Hero

public class Hero {

    private World world;

    public Hero (World world) {
        this.world = world;
    }

}
无法用以下内容构建
英雄

Hero hero = new Hero(); 您还必须定义一个类
World
(在名为
World.java
的文件中)。例如,此存根:

public class World {

}
(如果您自己不提供构造函数,Java将定义一个)

根据编译项目的方式(使用IDE、使用命令行等),有时需要自己将此文件添加到项目中,或使用以下方法编译:

javac Hero.java World.java

(可能还有其他
.java
文件)

确实,当您在代码中没有定义任何构造函数时,java提供了默认的无参数构造函数,但当您显式定义了一个接受某些参数的构造函数时,java不提供默认构造函数。因此,您需要在这里定义默认的无参数构造函数

public Hero(){

}

确实,当您在代码中没有定义任何构造函数时,java提供了一个默认的无参数构造函数,但是当您显式定义一个接受某些参数的构造函数时,java不提供默认构造函数。因此,您需要在这里定义默认的无参数构造函数

public Hero(){

}

您遇到了什么错误,请提供一个可复制的示例以及编译器/运行时输出。您是否像这样调用构造函数:
heroVar=new Hero(world)
?我的编译器说它“找不到符号”您的Hero类是如何定义的?您遇到了什么错误?我们需要看看MSG!!!您遇到了什么错误,请提供一个可复制的示例以及编译器/运行时输出。您是否像这样调用构造函数:
heroVar=new Hero(world)
?我的编译器说它“找不到符号”您的Hero类是如何定义的?您遇到了什么错误?我们需要看看MSG!!!