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!!!