小编mwb*_*mwb的帖子

从父类到子类的类型转换

我对Java语言中的类型转换有误解.问题是ClassCastException.例如,在此代码中,假设Animal是Dog类的父类,

Animal animal = new Animal();
Dog dog = (Dog) animal;

执行后抛出ClassCastException.但是,在研究android包时,我发现了一个关于类型转换的例子,它应该抛出一个ClassCastException,考虑到这个例子.

EditText editText = (EditText) findViewById(R.id.edit_message);

在这段代码中,findViewById方法返回一个View类对象,它是EditText类的超类之一.(从android.view.Viewandroid.widget.EditText)代码运行正常.任何人都可以解释我是否犯了错误或者这是怎么回事?

提前致谢.

java polymorphism android types casting

13
推荐指数
2
解决办法
3万
查看次数

标签 统计

android ×1

casting ×1

java ×1

polymorphism ×1

types ×1