gpt4 book ai didi

java - 在 Java 类中实例化对象范围

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

在声明部分和构造函数部分实例化一个对象有什么区别?

例如,

案例一如下:

public ClassName{

private ArrayList objectName = new Arraylist();
public ClassName(){

}
}

案例二如下:

 public ClassName{

public ClassName(){
ArrayList objectName = new ArrayList();
}
}

声明部分的objectName和构造函数部分的objectName有区别吗?

最佳答案

范围是不同的。

案例一

private ArrayList objectName = new Arraylist();

这里的objectName是一个实例变量,它在ClassName对象的一个​​实例中是可见的。这意味着您可以使用 . 运算符访问它:

ClassName className = new ClassName();
className .objectName; // this is valid(assume this statements in the same class)

案例2

public ClassName(){
ArrayList objectName = new ArrayList();
}

这里,objectName 是构造函数的局部变量,在 ClassName 的实例中是不可见的:

   ClassName className = new ClassName();
className .objectName; // this is invalid (compiler error)

关于java - 在 Java 类中实例化对象范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18841969/

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