Java的强制类型转换计算机等级考试
文章作者 100test 发表时间 2010:01:01 12:16:11
来源 100Test.Com百考试题网
今晚项目的几个同学有次关于Java强制类型转换的讨论,当时脑袋瓜浑浑的,现在理一下思路.
用个例子:
view plaincopy to clipboardprint?
public class animal
{
private int age.
private String color.
public void eat() {}
}
public class animal
{
private int age.
private String color.
public void eat() {}
}
view plaincopy to clipboardprint?
public class dog extends animal
{
private String onwer.
public void bark(){}
}
public class dog extends animal
{
private String onwer.
public void bark(){}
}
以上面animal和dog为例,dog继承animal的属性和方法并扩展之,在animal的基础上增加了owner的属性和bark()方法.在这个例子里,基类是animal,dog扩展自animal,是其子类.
下面说一下强制转换. 我们知道,狗是一种动物,而动物就不一定会是狗. 所以, animal a = (animal) dog这种转换是正确的,因为狗是一种动物,狗当然能转换为动物. 但动物不能硬硬转换为狗,也就是说 dog d = (dog) animal这样是不行的,dog含有扩展属性和方法,这在animal中不含有. 这就说,Java的强制转换,是从子类可以转换为基类,但基类不含有子类的扩展属性所以不能强制转换为子类.
再举一个例子:
编辑特别推荐:
全国计算机等级考试(等考)指定教材
全国计算机等级考试学习视频
全国计算机等级考试网上辅导招生
全国计算机等级考试时间及科目
百考试题教育全国计算机等级考试在线测试平台
全国计算机等级考试资料下载
全国计算机等级考试论坛
如何应付二级考试中的公共基础知识
全国计算机等级考试上机考试应试技巧
view plaincopy to clipboardprint?
class human{int sum.}
class man extends human
{
double sum.