当前位置: 代码迷 >> J2SE >> java 多态有关问题
  详细解决方案

java 多态有关问题

热度:86   发布时间:2016-04-23 20:32:58.0
java 多态问题
初学Java,求各位大神给我讲解下 多态问题,以及instanceof怎么用,谢谢
------解决方案--------------------
继承,重写,父类引用指向子类对象是多态的三个必要条件.instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。
------解决方案--------------------
LZ,这是最基本的面向对象的概念,楼上说的很对,但是你肯定还是迷糊
多态的理解需要配合实例,单纯给你说概念是苍白的,建议LZ随便找一本JAVA技术入口书籍好好看看多态那一章
然后一定要动手CODING还有效果
------解决方案--------------------
对象 instanceof 类结果输出这个对象是否是这个类的实例.
------解决方案--------------------
多态是面向对象的一大特性。包括,重写,重载。instanceof   楼上都解释正确,你可以到网上找找视频,有很多解释的
------解决方案--------------------
多态就是多种状态啊,这一般是用在抽象类或者接口当中,定义一个抽象的函数,但是父类只给出函数的声明,由子类去实现,子类可以有很多种,每一种都可以有不同的实现方法,就实现了多态
------解决方案--------------------
多态,从字面上理解就是多种形态。
其实就是说在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;
}
  相关解决方案