JAVA多态内容的了解

本文介绍了Java中的多态性,这是一种允许不同数据类型共享同一接口的关键面向对象特性。多态的优点包括消除类型耦合、提高代码可替换性和可扩充性,以及增强灵活性和简化性。实现多态需要继承、方法重写和父类引用子类对象。通过多态,可以编写更加通用的代码,适应不同子类对象的需求。示例展示了如何在Java中定义和使用多态。
摘要由CSDN通过智能技术生成

目录

1.多态的基本介绍

2.多态的优点

1. 消除类型之间的耦合关系

2. 可替换性

3. 可扩充性

4. 接口性

5. 灵活性

6. 简化性

3.java多态存在的三个必要条件

4.多态的代码的定义和使用


java是一门面向对象的变成语言,面向对象编程有三大特性:封装、继承、多态。

1.多态的基本介绍

        百度百科中这样解释:在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。

        菜鸟教程里这样解释:多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作,多态性是对象多种表现形式的体现。

        Java是面向对象的语言,同样可以描述一个事物的多种形态。同样个一个Ctrl+Shift+a,在有些浏览器的截屏操作,有些是打开标签页。

2.多态的优点

1. 消除类型之间的耦合关系

        有了多态,左边是父类(或者接口),右边是子类(或实现类),只需要调用接口里面的方法就可以了,不再需要考虑等号左右的元素类型。

2. 可替换性

        多态对已存在代码具有可替 换性。例如,多态对圆Circle类工作,对其他任何圆形几何体,如 圆环,也同样工作。

3. 可扩充性

        多态对代码具有可扩充性。增 加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际上新加子类更容易获得多态功能。例如,在实现了圆锥、半圆锥以及半球体的多态基础上,很容易增添球体类 的多态性。

4. 接口性

        多态是超类通过方法签名, 向子类提供了一个共同接口,由子类来完善或者覆盖它而实现 的。子类如Circle和 Sphere为了实现多态,完善或者覆盖这两个接口方法。        

5. 灵活性

        它在应用中体现了灵活多样的操作,提高了使用效率。

6. 简化性

        多态简化对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。

可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。

3.java多态存在的三个必要条件

1.继承

2.重写

3.父类引用指向子类对象:Parent p = new Child();

4.多态的代码的定义和使用

定义格式:父类类型 变量名=new 子类类型();

Fu f=new Zi();
System.out.println(f.num);
System.out.println(f1.show());

class Shape {
    void draw() {}
}
 
class Circle extends Shape {
    void draw() {
        System.out.println("Circle.draw()");
    }
}
 
class Square extends Shape {
    void draw() {
        System.out.println("Square.draw()");
    }
}
 
class Triangle extends Shape {
    void draw() {
        System.out.println("Triangle.draw()");
    }
}

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。(摘抄自菜鸟教程Java 多态 | 菜鸟教程

(补充:一个Java类只能直接继承自一个父类)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值