我是靠谱客的博主 傻傻身影,最近开发中收集的这篇文章主要介绍java的多态,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Java多态

  • 什么是多态
    • 多态是同一个行为具有多个不同表现形式或形态的能力
    • 多态就是同一个接口,使用不同的实例而执行不同操作
    • 多态性是对象多种表现形式的体现
  • 多态的优点
    • 消除类型之间的耦合关系
    • 可替换性
    • 可扩充性
    • 接口性
    • 灵活性
    • 简化性
  • 多态存在的三个必要条件
    • 继承
    • 重写
    • 父类引用指向子类对象
  • 当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
  • 多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
  • 以下是一个多态实例的演示,详细说明请看注释:
public class Test {
public static void main(String[] args) {
show(new Cat());
// 以 Cat 对象调用 show 方法
show(new Dog());
// 以 Dog 对象调用 show 方法
Animal a = new Cat();
// 向上转型
a.eat();
// 调用的是 Cat 的 eat
Cat c = (Cat)a;
// 向下转型
c.work();
// 调用的是 Cat 的 work
}
public static void show(Animal a)
{
a.eat();
// 类型判断
if (a instanceof Cat)
{
// 猫做的事情
Cat c = (Cat)a;
c.work();
} else if (a instanceof Dog) { // 狗做的事情
Dog c = (Dog)a;
c.work();
}
}
}
abstract class Animal {
abstract void eat();
}
class Cat extends Animal {
public void eat() {
System.out.println("吃鱼");
}
public void work() {
System.out.println("抓老鼠");
}
}
class Dog extends Animal {
public void eat() {
System.out.println("吃骨头");
}
public void work() {
System.out.println("看家");
}
}
  • 执行以上程序,输出结果为:
吃鱼
抓老鼠
吃骨头
看家
吃鱼
抓老鼠

最后

以上就是傻傻身影为你收集整理的java的多态的全部内容,希望文章能够帮你解决java的多态所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部