仅供参考,我就像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,然后我将具有稍后使用的对象技能。 (我是否将构造函数和对象的术语混淆了?如果它错了,只需将它们全部切换到您的脑海中,我认为我至少与它保持一致)。
问题是我在Skills类中有一个toString()方法,我想在主类的一个单独的方法中调用它。
else if (optionChoice.equalsIgnoreCase("View Skills")){
Skills skills = new Skills();
System.out.println(skills.toString());
break;
}
当然,我在这里创建的对象会抛出错误,因为我不能只写Skills();没有为参数添加所有十二个值。那么当我无法为它创建对象时,如何从Skills类调用该方法?功能必须使值不会改变,并且因为它们是可变的并且随程序而改变,所以我不能为它们赋予任何价值。
我知道这可能是一个超级基本问题,但这是我所处的水平,所以任何超级基本的答案都会有所帮助。不应该花太多时间。提前致谢!
为什么不让你的技能对象成为静态字段而不是在main方法中创建它?
public class WhateverYourClassIsCalled {
static Skills skills = new Skills(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
public static void main(String[] args) {
// ...
}
void yourOtherMethod() {
// ...
else if (optionChoice.equalsIgnoreCase("View Skills")) {
System.out.println(skills.toString());
break;
}
}
}