OO多态性的一个体现
来源:互联网 发布:流星网络电视tv版apk 编辑:程序博客网 时间:2024/05/01 19:42
请看代码
class AA{<span style="white-space:pre"></span>String toString(){<span style="white-space:pre"></span>return "This is AA";<span style="white-space:pre"></span>}}class BB extends AA{<span style="white-space:pre"></span>String toString(){<span style="white-space:pre"></span>return "This is BB";<span style="white-space:pre"></span>}}class CC extends AA{<span style="white-space:pre"></span>String toString(){<span style="white-space:pre"></span>return "This is CC";<span style="white-space:pre"></span>}}public class Test{public static void main(String[] args){BB b = new BB();AA c = new CC();AA a = (BB)b;List<AA> as = new ArrayList<AA>();as.Add(a);as.Add(c);for(AA temp : as){System.out.println(temp.toString());}}}
输出结果是:
This is BB
This is CC说明了什么呢?
c对象是父类实例化子类对象所得,a是b强转过来的,其实没什么作用,正确的所用体现应该是:
class AA{String toString(){return "This is AA";}}class BB extends AA{String toString(){return "This is BB";}String SelfMethod(){return "I am BB";}}class CC extends AA{String toString(){return "This is CC";}}public class Test{public static void main(String[] args){AA b = new BB();AA c = new CC();List<AA> as = new ArrayList<AA>();as.Add(a);as.Add(c);for(AA temp : as){if(temp instanceof BB){System.out.println(temp.SelfMethod());}System.out.println(temp.toString());}}}<p>//没看懂?自己code一下吧。</p><p></p>
0 0
- OO多态性的一个体现
- java多态性的体现
- 多态性的体现知识点
- 类的多态性体现
- java中的多态性 是怎么体现的呢?
- Java中类的属性不体现多态性
- 一个OO设计的命运
- 一个ALV(OO)的实例
- 一个关于多态性的问题
- 一个稍微能够体现价值的暑假
- c++多态的一个简单体现
- AutoResetEvent 一个体现通知机制的例子
- 体现多态好处的一个例子
- 一个对OO设计的讨论
- 一个草根关于OO的一点理解
- 一个OO-ALV的通例子
- GLUT的一个简明OO封装
- 对c++的多态性的一个疑问
- 一切成功源于积累——20140812 深刻理解V形反转
- Report Viewer 2010/2012发布方法
- 深度学习鼻祖杰夫·辛顿及巨头们的人才抢夺战
- 一句话搞定webmap(一)——轻地图组件
- ajax的post
- OO多态性的一个体现
- Server.CreateObject("Excel.Application")的权限问题
- [POJ1681]画家问题
- WebDriver: Advanced Usage
- IOS 截屏||截图
- mongodb的group详细成功案例
- pig基础知识总结
- 为何OpenWrt能在这十年里脱颖而出?(转自雷锋网)
- C++的函数重载