为什么Java的'TextView'类不需要实例化? [已关闭]

问题描述 投票:0回答:3

在Android开发中,我在活动中的

TextView
函数中使用
onCreate()
类,我有两个问题。

这只是

onCreate()
函数内的代码:

TextView variableName;

1. 为什么

TextView
可以有变量?变量不是仅用于存储值,并且值必须具有数据类型。这里的数据类型是什么?

2. 为什么

Textview
不需要在这里创建一个对象?这个表达式的逻辑层次或解释是什么?

java android
3个回答
3
投票

为什么TextView可以有变量?变量不是只是为了存储 一个值和值必须有一个数据类型。这里的数据类型是什么?

不确定你在这里的意思,数据类型是TextView,并且与应用程序中的textview相关的任何数据都属于此数据类型。

为什么Textview不需要在这里创建对象?

当您使用

setContentView(R.layout.myLayout)
在活动中设置布局时,TextView 是由您的 xml 视图创建的,这就是为什么当您想要访问文本视图时,您可以通过以下方式访问它

variableName = findViewById(R.id.myTextView)

也欢迎您手动创建 TextView 并使用提供的构造函数之一将其添加到您的视图中


2
投票

1)TextView是一种数据类型。 它是 Android 框架中的一个类。 它可以像任何其他类一样创建和使用。

2)它没有在那里创建对象,因为那不是作者当时想要做的。 声明变量时,并不总是创建对象的实例 - 有时您想稍后创建它。 或者您希望它指向现有实例。 例如:

String x;
x = mylist.get(0);

x 创建一个指向字符串的变量,但不实例化新字符串。 第二行将 x 分配给列表中的现有字符串。

此后的代码很可能会将 textview 设置为从 XML 扩充的值,尽管它也可以稍后以编程方式创建一个值。 它只是现在没有这样做,要么是因为作者不想或不能(可能它没有有效的上下文)。


0
投票
  1. 它是一个类,类是一种数据类型。因此它也可以用作原始数据类型。
© www.soinside.com 2019 - 2024. All rights reserved.