我是Java的初学者,遇到了这行代码:
Button orderButton = (Button)findViewById(R.id.order);
当(Button)
出现在括号中时,它代表什么意思?
把它放在括号里面的术语是什么?
这是一种类型转换。你将结果转换成了Button类型。
findViewById(R.id.order);
返回的对象很可能是Button
扩展的某些内容。编写代码的人认为该函数调用返回的对象实际上是Button
的一个实例,因此他将函数的返回值强制转换为Button
的一个实例。
Animal
和一个派生类型的Dog
,并且你有一个返回类型为Animal
的函数,但是你知道(出于某种原因)它返回给你的值实际上是Dog
的一个实例,并且你想要将结果存储在类型为Dog
的变量中,你需要进行类型转换:Dog d = (Dog)getTheAnimal();
相反的情况不成立:Animal a = getADog();
因为你可以将后代类型(Dog
)分配给祖先类型(Animal
)的变量而不需要进行转换。 - T.J. Crowderint
中的值,您知道它足够小以适合于byte
,并且由于某种原因您想要这样做:byte b = (byte)i;
- T.J. Crowder