WEB 开发 开发语言 Java 技术 .Net 技术 数 据 库 硬件使用
图象媒体 Linux/Unix 移动平台 嵌入开发 Windows 专区 软件工程
Ajax 技术 | ASP | PHP | ASP.NET | C# | JSP | Access | Oracle | 网页设计 | Flash | 安全专题 | IIS | VC/MFC | Delphi | C/C++
 你的位置:首页 > Java 技术 > J2SE / 基础类

今天看CORE JAVA发现他说超类可以强制转换为子类,觉得实在不行,请问有这样的可能吗?
[ 来源:ITWENKU 时间:2006-9-7 13:40:06 | 浏览:237人次 ]

今天看CORE JAVA发现他说超类可以强制转换为子类,觉得实在不行,请问有这样的可能吗?
如果可以
请问怎么转换
???



多态

Object obj = new Object("Hello") ;

String s = (String) obj;


sorry


Object obj = "hello" ;

......

......

String s = (String) obj;


可以,强制转换
class B extend A

A a = new A()
((B)a) 不过这么转换可能会出问题,还是用接口好一点


这样的情况我试过但是不行
会有java.lang.ClassCastException


我强制转化都会产声异常


可以,强制转换
class B extend A

A a = new A()
((B)a) 不过这么转换可能会出问题,还是用接口好一点
==========================================
这样不是可能,是肯定会出现问题,会有造型异常

正确的应该是

A a = new B();
a.someMethodOfA();
((B)a).someMethodOfB();


是的
要先给aaa一个ChildClass的指向


一般都是为了面向接口,
Interface IA{};
class A implements IA{};
class B implements IA{};
IA ooA = new A();
IA ooB = new B();
当然向下转型的时候,ooA只能转成A,ooB只能转成B,即它原来是什么型,转回什么型,否则throw ClassCaseException



可以牵制转换,但是你要清楚强制转后有些麻烦,因为子类的某些方法和属性父类是没有的,但是当你转换成子类以后,无法完成子类的某些功能。


//超类可以强制转换为子类
这是下塑造型,要求类本身确实是想要变幻的类型,否则异常。



可以转换的,也就是所谓的下塑造型.


为什么不可以?

这样做的时候,实际生成的还是子类的实例。


向下转型容易出错。.
向上转型要好些..

A a = new B();
a.someMethodOfA();
((B)a).someMethodOfB();我同意这个说法.


 相关文章
·从数据库读出来的空格怎么replace(" ","");不了?
·一般,除了全角半角的空格之外,还有些什么样的空格?
·ResultSetMetaData类的问题请教
·关于java中的参数传递问题
·求助制作简单WAP页面的方面的资料
·一段简单代码,请高手看看.

 推荐文章
你们帮我改一下这个程序,它的界面怎么没有!
程序为什么会出现这样的异常
Socket问题
finally的神秘问题
右移>>>的问题
如果一个类里的构造函数含有本身类的对象,那该怎么处理的或怎么理解的?
大家遇到过jvm coredump的情况吗
请教: JDBC怎么传一个数(字符串)给数据库?(调用数据库的function)
编写一个java程序
接口修饰符
求救:循环问题,在线等!!!
js里的document.write总是转到新的页面输出???
 版权所有:IT问库
copyright © 2006 www.itwenku.cn all rights reserved.