gpt4 book ai didi

java - 构造对象时可以通过两种方式初始化实例变量?

转载 作者:行者123 更新时间:2023-12-04 06:00:29 25 4
gpt4 key购买 nike

我知道你们讨厌帮忙做作业,但我想我可能会问...

所以,我有一个问题:

Describe two ways in which an instance variable can be initialized when an object is constructed.



现在,第一种方法显然是将实例变量分配给构造函数的形参:
public class Example {
private int valueOne;
public Example(int val1) {
valueOne = val1;
}
}

但是,我仍然需要另一种方式。

一种可能性是简单地将构造函数中的实例变量分配给一个不被接受为构造函数参数的值:
public class Example {
private int valueTwo;
public Example() {
valueTwo = 2;
}
}

但这似乎是解决问题的廉价解决方案,与第一个解决方案没有什么不同。

所以,我想知道这样的事情:
public class Example {
private int valueOne = 1;
}

但是,我想知道这是否仍然分配了 valueOne1在对象的构建时,或者有什么不同?

而且,如果它确实做了一些不同的事情,那么问题的另一种选择是什么?还有什么我想念的吗?

最佳答案

你的两种方式是我会想到的两种方式。

后者在构造对象时初始化该值。它甚至在构造函数运行之前就发生了(你可以测试一下):

class Example {
private int valueOne = 1;
public Example(int value)
{
System.out.println(valueOne);
valueOne = value;
System.out.println(valueOne);
}
}

...

public static void main(String[] args) {
new Example(2);
}

这打印:
1
2

关于java - 构造对象时可以通过两种方式初始化实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8965172/

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