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.

相关文章


hreadLocal使用:用于保存每个登录用户的信息userInfo计算机等级考试
对Java终止函数深度进行分析计算机等级考试
JPA:程序管理型与容器管理型的区别计算机等级考试
Tomcat6的一个ErrorfilterStart错误的解决计算机等级考试
Java的强制类型转换计算机等级考试
javaToomanyopenfiles打开的文件过多计算机等级考试
自动配置JAVA环境变量计算机等级考试
struts配置文件重定向的问题计算机等级考试
J2ME文件上传实例(FileConnector链接文件系统,非RMS)计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛