有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在JavaAndroid中声明对象时,您所说的(类名)是什么意思

在学习了基础知识之后,我最近开始在Java中开发安卓,我注意到了一种初始化对象的新方法。例如:

TextView t = (TextView) findViewById(R.id.textbox);

在这里,我想知道(TextView)是什么意思,为什么不能用静态方法或new关键字初始化对象。谢谢大家!

编辑

我还想知道在基类对象上强制转换超类对象时会发生什么(继承了哪些有利条件)


共 (1) 个答案

  1. # 1 楼答案

    TextView t = (TextView) findViewById(R.id.textbox);
    

    语句findViewById(R.id.textbox)从xml布局中返回一个View对象,该对象是Activity(或Fragment)正在膨胀的,但变量t需要一个TextView对象,因此必须显式将其转换为带有(TextView)表达式的TextView对象

    Why can't we initialise a object by a static method or the new keyword.

    你可以用new关键字创建一个TextView对象,比如TextView t = new TextView(this),但是你必须动态地将它放入你的活动中