Java中对象类型的强制转换
2011-08-27 11:08
537 查看
class person { void f1() { System.out.println("person f1 is calling !"); } void f2() { f1(); } } class student extends person { void f1() { System.out.println("student f1 is calling! "); } void f3() { System.out.println("student f3 is calling!"); } void f4() {} } class Rt20 { public static void main(String[]args) { student s=new student(); call(s); } public static void call(person p)//子类的对象可以自动转换为父类的对象. { if(p instanceof student)//这句意思:p确实是student的对象吗. { student s=(student)p;//把person类型强制转换为student类型. s.f1(); s.f2(); s.f3(); } else { p.f1(); p.f2(); } //p.f4();//p只能调用person类的内容,虽然说p来源于student .但是它带上person类的 //帽子,所以只能调用person类的成员. } }
CSDN
Java编程技术交流QQ群:171396965 技术需要交流,技术需要与时俱进.这里是优秀爱好Java编程的集聚地,我们一起学习,共同进步.加入时请注明Java字样,谢谢.
作者:StellaAh 发表于2011-8-27 11:07:43 原文链接
阅读:140 评论:0 查看评论
相关文章推荐
- Java中对象类型的强制转换
- java中的String类型的对象为什么可以自动转换成Object类型的?而Object却要强制转换成String类型的
- Java面向对象【经典案例】强制/自动类型转换与类型安全的转换
- 关于java中任意对象强制转换为接口类型的问题
- 莫名的无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为XXX问题
- .net4.0切换2.0时,SplitContainer”的对象强制转换为类型
- Java多态对象的类型转换
- 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Microsoft.VisualStudio.Tools.Applications.Runtime.IHostS
- 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Microsoft.VisualStudio.OLE.Interop.IServiceProvider”。
- 无法将类型为“Oracle.DataAccess.Types.OracleString”的对象强制转换为类型“System.String”。
- 【C#机房重构】无法将类型为“JF.DAL.BillDAL”的对象强制转换为类型“JF.IDAL.IBillIDAL”
- 初学Java,判断类型是否可强制转换(十二)
- java fastjson如何自定义转换含枚举类型对象(编程技巧)
- java的对象类型转换
- 无法将类型为“Shell32.ShellClass”的 COM 对象强制转换为接口类型“Shell32.IShellDispatch 6”
- 【自用】Javanote170801(封装、多态、instanceof运算符、对象转换类型、final关键字、参数传递)
- 无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Wor
- 13.java语言基础-基本类型的自动转换强制转换
- Java (对象间的类型转换)
- Java--因为char类型无法强制转换负数导致IO读取文件无法停止问题