继承,重写,父类引用指向子类对象是多态的三个必要条件.instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
解决方案 »
- 数据库连接jsp
- System.out.print("哈喽world!")的详解
- 考虑简单数据溢出问题中无意发现的字符读写问题。求高手解答
- 关于slider 的问题,估计出错在接口上,我初学,搞不明白,哪位路过看看
- 我想做一个程序,在指定的时间发作(像病毒),而且可以判断登录用户,怎么实现?
- Java中下载文件时,选择打开文件名变为乱码,如何解决。
- 基类构造函数调用导出类的方法?
- [1000分醒目]求mp3播放器代码
- 太菜了:怎么区分鼠标左右健
- 急急急急,单击表中一行使之显示与隐藏??????,高手请进,在线回答,一定给分
- JPanel重绘问题
- 紧急求助!!JXL往excel模板中写数据,excel模板的数据透视表失效。
多态的理解需要配合实例,单纯给你说概念是苍白的,建议LZ随便找一本JAVA技术入口书籍好好看看多态那一章
然后一定要动手CODING还有效果
其实就是说在JAVA中给一个类传递消息,这个类可以有多种形态来接收、处理消息,不同形态会返回不同的结果。
例如 Object o = new String("abc");这里就是一个多态,意思就是Object这个类是以String形态来接收信息的,这里是父类指向子类的引用,多态的一种表现。
又例如 o.toString(),这个方法会调用子类String的toString()方法,这也是一种多态的表现,即重写。
最后就是方法重载,String str = new String("abc"); str.indexOf(1)和str.indexOf("a")这两个方法就是分别以不同形态来接收消息,得到的结果当然不一样,这就是多态在重载中的体现。instanceof的用法如下:
if( a instanceof Object ){
//这里是指a对象是否是Object的一个实例。实际上就是指 Object是否是a这个对象的类的父类。
//比如判断一下是不是可以这样表达 Object o = a;
}