gpt4 book ai didi

java - 引用构造函数而不重置参数值?

转载 作者:行者123 更新时间:2023-12-02 11:48:56 25 4
gpt4 key购买 nike

仅供引用,我已经上过一门关于 Java 的高中类(class),所以这个问题应该非常容易回答。我只是无法找到一种方法来调用类方法(构造函数)作为新对象,而不为参数输入新值。构造函数如下所示:

    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 类中调用该方法呢?对于功能来说,这些值不改变是非常重要的,并且由于它们是可变的并且随程序而改变,所以我不能为它们添加任何值。

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

最佳答案

为什么不直接让你的技能对象成为一个静态字段,而不是在主方法中创建它?

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;
}
}
}

关于java - 引用构造函数而不重置参数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48013705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com