gpt4 book ai didi

java - Java构造函数困惑

转载 作者:行者123 更新时间:2023-11-30 03:29:25 25 4
gpt4 key购买 nike

嗨,这可能看起来是一个非常愚蠢的问题,但我最近开始学习 java 并正在自学构造函数。

public class creatures {
private static String name;
private static int age;
private static String type;

public creatures( String name, int age, String type) {
this.name = name;
this.age = age;
this.type = type;
System.out.println("The creature's name is " + name + " \nThe creatures age is" + age + " \nThe creatures type is " + type);
}

public static void main(String [] args) {
creatures newcreature = new creatures("Zack", 100, "alien");
creatures newcreature1 = new creatures("Jonny", 500, "vampire");
creatures newcreature2 = new creatures("Dick", 4, "witch");
System.out.println(newcreature.name);
}
}

因此,在我的 main 方法中的 system.out.println 中,在打印构造函数之后,我想通过引用 newcreature 构造函数的名称来打印名称“Zack”,但它只打印名称“Dick”我制作的最后一个构造函数。如何区分同一类中的这些构造函数?如果这是一个愚蠢的问题,再次抱歉。

最佳答案

问题出在变量上的 static 关键字。

阅读此内容:enter link description here

静态变量只会获得一次内存,如果任何对象更改静态变量的值,它将保留其值。

关于java - Java构造函数困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29429478/

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