正在回答 回答被采纳积分+1
1回答
好帮手慕珊
2017-05-11 11:35:24
你好!不知道你说的是不是我下面代码的情况:
public class Animal { public void eat(){ System.out.println("animal eat...."); } } public class Cat extends Animal{ public void bark(){ System.out.println("miaomiao"); } public static void main(String[] args) { Animal animal=new Animal(); Cat cat=(Cat)animal; cat.bark(); } }
这段代码编译没有错误,但是会报类型转换异常,也就是为了避免出问题,Java是不允许这么转换的。主方法中的代码改为如下情况是没有问题的:
public static void main(String[] args) { Animal animal=new Animal(); if(animal instanceof Cat){ Cat cat=(Cat)animal; cat.bark(); } }
也就是说,只有是Cat类的对象时,才能进行强制类型转换。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星