加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在不重置参数值的情况下引用构造函数

发布时间:2020-12-15 04:41:33 所属栏目:Java 来源:网络整理
导读:仅供参考,我就像 Java上的一个高中班,所以这个问题应该非常容易回应.我只是想弄清楚一种方法来调用类方法,构造函数,作为一个新对象而不为参数添加新值.构造函数如下所示: public Skills(int courage,int intelligence,int stamina,int crafting,int blacksm
仅供参考,我就像 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,然后我将具有稍后使用的对象技能. (我是否将构造函数和对象的术语混淆了?如果它错了,只需将它们全部切换到您的脑海中,我认为我至少与它保持一致).

问题是我在Skills类中有一个toString()方法,我想在主类的一个单独的方法中调用它.

else if (optionChoice.equalsIgnoreCase("View Skills")){
    Skills skills = new Skills();
    System.out.println(skills.toString());
    break;
}

当然,我在这里创建的对象会抛出错误,因为我不能只写Skills();没有为参数添加所有十二个值.那么当我无法为它创建对象时,如何从Skills类调用该方法?功能必须使值不会改变,并且因为它们是可变的并且随程序而改变,所以我不能为它们赋予任何价值.

我知道这可能是一个超级基本问题,但这是我所处的水平,所以任何超级基本的答案都会有所帮助.不应该花太多时间.提前致谢!

解决方法

在主要方法中,如果要保留其值,则应传递“技能”对象.您当前正在做的是每次调用函数时创建一个新对象(构造一个).

您想要的是如下流程.

Skills skills = new Skills(...);
.... 
skills.toString();

就像你说的那样,如果你想在主类的另一个方法中使用Skills对象,只需将技巧对象传递给该方法即可.像这样:

public static void main (String args[]) {
    Skills skills = new Skills(....);
    fooMethod(skills);
}

fooMethod(Skills skills) {
    // Here you can :
    skills.toString();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读