当前位置:  技术问答>java相关

父类什么情况下可以转化成子类?

    来源: 互联网  发布时间:2015-03-02

    本文导语:  我在把父类转化成子类时,总是抛出异常,但是我在书上看到父类是可以转化成子类的,请问是什么情况? | 就是如果父类的那实例是由字类的实例上溯造型的,就可以。 如:   A 是B的父...

我在把父类转化成子类时,总是抛出异常,但是我在书上看到父类是可以转化成子类的,请问是什么情况?

|
就是如果父类的那实例是由字类的实例上溯造型的,就可以。
如:
  A 是B的父类。
 A a= new B();
就可以:
 B b= (B)a;

|
看看抛出的是什么异常,是空指针,说明你的句柄没有指向一个对象。如果是类型错误,那你转换错误,父类变成子类,必须是那个对象确实是这个子类才可以。

|
class Shape { 
  void draw() {}
  void erase() {} 
}

class Circle extends Shape {
  void draw() { 
    System.out.println("Circle.draw()"); 
  }
  void erase() { 
    System.out.println("Circle.erase()"); 
  }
}

class Square extends Shape {
  void draw() { 
    System.out.println("Square.draw()"); 
  }
  void erase() { 
    System.out.println("Square.erase()"); 
  }
}

class Triangle extends Shape {
  void draw() { 
    System.out.println("Triangle.draw()"); 
  }
  void erase() { 
    System.out.println("Triangle.erase()");
  }
}

public class Shapes {
  public static Shape randShape() {
    switch((int)(Math.random() * 3)) {
      default: // To quiet the compiler
      case 0: return new Circle();
      case 1: return new Square();
      case 2: return new Triangle();
    }
  }
  public static void main(String[] args) {
    Shape[] s = new Shape[9];
    // Fill up the array with shapes:
    for(int i = 0; i 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 用什么函数可以查看内存当前使用情况?
  • unix shell如何在不把命令结果打出来的情况下判断命令是否可以执行呢?
  • 请问这样的情况可以用虚拟机实现吗?
  • 遇到过这种情况吗:为什么PuTTY不能用root帐户SSH成功登陆?用其他帐户都可以登陆!
  • ubuntu 10.10出现极其诡异的情况,使用gcc编译没任何反应,可以继续输入,但是不提示任何错误;使用make编译效果一样;
  • redhat ent 4 u4上,如何象readhat ent3 u6版本那样使用top可以查看每个逻辑CPU的利用率以及运行进程的资源使用情况?
  • 谁帮我理清一下所有的修饰符的搭配情况啊?比如public不能和private连用,而static可以和native连用.
  • 请问什么方法可以使我记录的数据在突然掉电的情况下,也不会丢失???????
  • 用Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");的情况下,可不可以用dbo的用户名和密码来操作自定义的数据库,要怎
  • 在JB7中默认的情况下会为程序生成一个包,程序在JB7中可以正常运行,可是在JDK中却无法运行
  • 请问用那个命令可以实时看到当前的网络状态。如:TCP,UDP,防火墙的情况。
  • 请问这种情况我该选redhat服务器版,还是redhat客户版?哪个可以多系统共存?
  • 这种情况可以获取SOCKET IP吗?
  • unix上什么命令可以得到系统的总的内存使用情况
  • 什么情况下两个对象可以用“==”或者“!=”来比较啊?
  • ubuntu的问题。查看内存使用情况的问题 iis7站长之家
  • 在一个applet中动态的写了很多的JLabel(没有具体的名称),通过什么方式可以在符合某一条件的情况下改变某一个JLabel的文本,在不采用重新
  • 请问:有没有方法可以在不移动ResultSet的情况判断查询的记录数是否为0,也就是说什么都没查出来!
  • C++ Vectors 成员 capacity():返回vector所能容纳的元素数量(在不重新分配内存的情况下)
  • 请问什么情况下用servlet,什么情况下用ejb,什么情况下用jsp.给出理由?
  • linux下free命令显示的内存使用情况分析
  • 如何查看分区情况和硬盘空间使用情况?
  • 求助:java实现显示linux下的cpu占用率,内存使用情况,硬盘占用情况
  • shell 函数中的用exit时,什么情况下仅仅退出函数,什么情况下退出整个shell程序?
  • tcp和udp套接字有何不同?在什么情况下用tcp什么情况下用udp????
  • 在AIX(4.3)系统上如何查看内存情况
  • SWAP分区满的问题,有同学碰到这种情况吗?
  • AIX 4.3.X中用什么命令能查看到系统内存的使用情况?
  • 如何编程查看 cpu 内存 占用情况
  • 磁盘使用情况统计工具 KDirStat
  • ubuntu的问题。查看内存使用情况的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3