gpt4 book ai didi

java - ListView 列表 - 引用变量或对象?

转载 作者:搜寻专家 更新时间:2023-11-01 07:41:43 24 4
gpt4 key购买 nike

当我创建一个类时,让我们假设 class A,应该创建实际对象并为其分配内存,我必须执行以下过程:

A a = new A();

此时,通过变量a,我可以直接引用对象。

但是,当我遇到情况时:

ListView list;
list = findViewById(R.id.listView);

是否在列表变量声明期间创建了一个对象?有人可以对此发表评论吗?因为我在一个教程中遇到过这种说法。

最佳答案

Java 中所有变量都指向对象。

以你的例子为例:

ListView list;
list = findViewById(R.id.listView);

第一条语句不会创建任何新对象,即:findViewById 不会创建 ListView 的新实例,实际上,ListView 对象是在您调用 setContentView(R.layout.xx) 的阶段创建的,在后台,Android 遍历布局 XML 并为每个标签创建相应的对象。

所以在 setContentView(xx) 之后,内存中已经有一个 ListView 实例。

当你执行list = findViewById(R.id.listview)时,方法findViewById返回ListView的引用,并通过对 list 的引用,因此列表现在引用 ListView 对象。

如果你想更清楚地了解它,我建议阅读Head First Java中的相关章节,它清楚地阐明了这种关系。

关于java - ListView 列表 - 引用变量或对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56979967/

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