在JavaAndroid中声明对象时,您所说的(类名)是什么意思
在学习了基础知识之后,我最近开始在Java中开发安卓,我注意到了一种初始化对象的新方法。例如:
TextView t = (TextView) findViewById(R.id.textbox);
在这里,我想知道(TextView)
是什么意思,为什么不能用静态方法或new
关键字初始化对象。谢谢大家!
编辑:
我还想知道在基类对象上强制转换超类对象时会发生什么(继承了哪些有利条件)
你可以在下面搜索框中键入要查询的问题!
在学习了基础知识之后,我最近开始在Java中开发安卓,我注意到了一种初始化对象的新方法。例如:
TextView t = (TextView) findViewById(R.id.textbox);
在这里,我想知道(TextView)
是什么意思,为什么不能用静态方法或new
关键字初始化对象。谢谢大家!
编辑:
我还想知道在基类对象上强制转换超类对象时会发生什么(继承了哪些有利条件)
# 1 楼答案
语句
findViewById(R.id.textbox)
从xml布局中返回一个View
对象,该对象是Activity
(或Fragment
)正在膨胀的,但变量t
需要一个TextView
对象,因此必须显式将其转换为带有(TextView)
表达式的TextView
对象你可以用
new
关键字创建一个TextView
对象,比如TextView t = new TextView(this)
,但是你必须动态地将它放入你的活动中