正在回答 回答被采纳积分+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 星