gpt4 book ai didi

java - 创建实例的作用与声明变量的作用完全相同吗?

转载 作者:行者123 更新时间:2023-11-29 21:11:00 24 4
gpt4 key购买 nike

我知道在 Java 中,作为一种强类型语言,每个变量都应该声明。

另一方面,Java 是一种面向对象的语言,每个变量都必须生成一个实例。 (为变量分配内存)

这里我有一个代码,我们没有声明ArrayAdapter

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, presidents));
}

我的问题是:创建实例的作用与此处声明变量的作用完全相同吗?

最佳答案

在 Java 中,只有在需要存储对对象的引用时才声明变量。这是可选的,例如

new ArrayList<String>(); // just throws away the reference (pointless, really)

在您的代码示例中,无需存储对ArrayAdapter 的本地引用;仅在 setListAdaptor() 方法中需要引用。所以没有声明局部变量。

你可以这样写:

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(),
android.R.layout.simple_list_item_1, presidents);
setListAdapter(adapter);
}

但在这种情况下并没有真正的优势。

关于java - 创建实例的作用与声明变量的作用完全相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22856767/

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