【发布时间】:2018-06-09 11:38:14
【问题描述】:
仅供参考,我上过一堂关于 Java 的高中课程,所以这个问题应该非常容易回答。我只是在想办法将类方法(构造函数)作为新对象调用而不为参数输入新值时遇到了麻烦。构造函数如下所示:
public Skills(int courage, int intelligence, int stamina, int crafting,
int blacksmithery, int herbalism, int slingSkill,
int bowSkill, int swordSkill, int armor, int stealth, int
lifeForceSkill){
this.courage = courage;
this.intelligence = intelligence;
this.stamina = stamina;
this.crafting = crafting;
this.blacksmithery = blacksmithery;
this.herbalism = herbalism;
this.slingSkill = slingSkill;
this.bowSkill = bowSkill;
this.swordSkill = swordSkill;
this.armor = armor;
this.stealth = stealth;
this.lifeForceSkill = lifeForceSkill;
} 当我建立它时,我的主要方法是这样做:
Skills skills = new Skills(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
将所有级别设置为 1,然后我就有了以后可以使用的对象技能。 (我是不是把构造函数和对象这两个术语弄混了?如果有错,请在你的脑海中将它们全部转换,我认为我至少与它保持一致)。
问题是我在技能类中有一个 toString() 方法,我想在主类中的一个单独方法中调用它。
else if (optionChoice.equalsIgnoreCase("View Skills")){
Skills skills = new Skills();
System.out.println(skills.toString());
break;
}
当然,我在这里创建的对象会引发错误,因为我不能只写 Skills();没有为参数输入所有十二个值。那么,当我无法为其创建对象时,如何从 Skills 类中调用该方法呢?值不改变的功能是必不可少的,因为它们是可变的并且随着程序的变化而变化,我不能为它们输入任何值。
我知道这可能是一个超级基本的问题,但这是我的水平,所以任何超级基本的答案都会有所帮助。不应该占用你太多时间。提前致谢!
【问题讨论】:
-
我不小心先在软件开发网站上发布了这个,所以这是那个的精确副本。
-
你必须在你的技能类中重写 toString() 方法。
-
用一个什么都不做也不带参数的构造函数重载构造函数。 - 公共技能(){}
-
你可能想看看
static-fields。 -
@Enoch 你是在问如何将一个对象作为参数传递给另一个函数?
标签: java object methods constructor call