JAVA—OOP之多态
来源:互联网 发布:mysql unique索引 编辑:程序博客网 时间:2024/05/16 07:04
JAVA—OOP之多态
水,汽,冰就是一个物体在不同条件下的不同种状态
1、什么是多态?
A:生活中的多态
就好比在学校没老师上自习课一样,此时每种人都有不同的状态,有的认真做作业,有的玩手机,有的讲小话,有的睡觉。当听到老师来了的这个消息的时候,每个人都会有不同的反应,有的无所谓,有的吓尿了,有的吓屎了等等等。
B:程序中的多态
同一个引用类型,使用不同的实例而执行不同操作。JAVA通过方法”重载”和方法”重写”来实现多态的。
2、多态的简单实例
A:定义一个动物接口,和一个吃东西的方法
public interface Ianimal {
void eat();
}
B:定义一个动物抽象类,实现动物接口
public abstract class Animal implements Ianimal{
}
C:定义一个猫类,继承动物抽象类,并重写吃东西的方法
public class Cat extends Animal {
//方法重写的体现
@Override
public void eat() {
System.out.println("我是猫,我吃鱼...");
}
}
D:定义一个狗了,继承动物抽象类,并重写吃东西的方法
public class Dog extends Animal {
//方法重写的体现
@Override
public void eat() {
System.out.println("我是狗,我吃骨头...");
}
}
E:测试类
public class Test {
public static void main(String[] args) {
//向上转型:父类的引用指向子类的实例
Ianimal cat = new Cat();
Test.display(cat);
Ianimal dog = new Dog();
Test.display(dog);
}
//方法重载的体现
public static void display(Ianimal animal){
animal.eat();
}
}
F:测试结果
3、多态的好处
从上面的例子就能看出:如果不采用多态要实现同样的结果的,在调用display()方法的时候就必须要给不一样的参数,而且每次也要改变方法里面的对象去调用方法,这是不是很麻烦呢?采用多态我们每次只改变实现类就可以了。
A:可替换性(substitutability)
B:可扩充性(extensibility)
C:接口性(interface-ability)
D:灵活性(flexibility)
E:简化性(simplicity)
4、使用多态的必要条件
A:有继承关系
B:向上转型
C:必须有重写
5、多态的标志
A:方法参数为借口或父类
B:返回值为父类
- JAVA—OOP之多态
- Java OOP之多态
- OOP之多态 【C#】
- OOP之多态的艺术
- OOP的三个核心本质之多态
- oop之多态特性的应用实例
- 黑马程序员—JAVA基础之多态
- java之多态,
- java之多态
- java学习之多态
- java基础之多态
- Java之多态
- Java学习之多态
- Java学习之多态
- java基础之多态
- Java学习之多态
- Java学习之多态
- JAVA之多态
- 文章标题
- Java实现顺序栈
- 蓝桥杯 八、十、十六进制转换
- 哈佛大学《幸福课》笔记
- LeetCode405 Convert a Number to Hexadecimal
- JAVA—OOP之多态
- webservice中的wsdl文件的剖析,已经swebservice客户端调用的几种方式
- EL表达式
- 让你的代码帮你写代码--编译期注解
- Java实现链栈
- SWFTools: pdf 转 swf 中文乱码、中文不显示问题。
- ecshop数据库表1(ecs_account_log)用户账户日志表
- ubuntu下导入mysql数据库
- 分治法写最大子列和问题