Java基础复习:初识多态
来源:互联网 发布:c语言实战1200例 pdf 编辑:程序博客网 时间:2024/06/05 05:47
A a = new B();
- A是一个类,B是A的一个子类
- A是一个接口,B或它的其中一个父接口实现A
假设满足一下条件:
/** * 父类:汽车 */class Car{public String name = "NoBrandCar";public void show(){System.out.println("This is a noraml car");}}/** * 子类:宝马 */class BMW extends Car{public String name = "BMW";public String color = "white";public void show(){System.out.println("It's BMW");}public void say(){System.out.println("It's beautiful");}}public class PolymorphismDemo {public static void main(String[] args) {/** * 编译类型:Car * 运行类型:BMW * 我可以把实际生产的BMW在编译时只当作Car来对待 */Car c = new BMW();//最简单的多态形式c.show();//c.say();//无法访问,编译时只是将其当作车,其并没有say方法,那么如何调用呢?//此时利用 instanceof 进行类型判断,并强转if(c instanceof BMW){BMW b = (BMW)c;b.say();}}}
使用多态的好处:
把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。
值得注意的是:
多态对于静态方法不起作用,因为他们属于前期绑定;由于无法扩展final方法,因此多态对于final方法也不起作用。
- Java基础复习:初识多态
- Java基础--初识java
- java基础复习(继承和多态)
- 基础java复习
- Java 基础复习 01
- java 基础复习
- java 基础复习
- 复习java基础笔记
- 复习java语言基础
- java基础复习--1
- java基础复习--2
- java基础复习--3
- java基础复习--4
- java基础复习--5
- java基础复习--6
- Java基础复习
- Java基础复习
- Java基础复习:接口
- Asp.net的身份验证
- 小事莫笑之-让C程序更高效的10种方法
- luajit笔记---编译bytecode(字节码文件)
- 我的经验
- 如何查看ubuntu版本
- Java基础复习:初识多态
- Mac OS X下MATLAB R2012b安装及破解
- the message was undeliverable. All servers failed to receive the message
- 一个人,一则故事,一份情愫,一个世界……
- 看,时间不准啊!
- NSSet类型 以及与NSArray区别
- 什么是基带芯片
- Android App的签名打包
- dll注入目标进程