Java入门教程(30)——多态

简介: 多态的介绍及使用

多态指的是同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。比如出行方式这个方法,有人选择步行,有人选择公交车,有人选择开车,有人选择自行车。

1.多态的要点:

  1. 多态是方法的多态,不是属性的多态。
  2. 多态的存在要有 3 个必要条件:继承,方法重写,父类引用指向子类对象。
  3. 父类引用指向子类对象后,用该父类引用调用子类重写的方法。

2.多态有啥好处

提高了程序的可扩展性和可维护性

3.实例



    public class Test {
        public static void main(String[] args) {
            //创建对象用于测试
            Transportation transportation = new Transportation();
            Car car = new Car();
            Bicycle bicycle = new Bicycle();
            transportation.goout();//出行~调用的是父类自己的功能
            car.goout();//开汽车跑~调用的是子类重写后的功能
            bicycle.goout();//骑自行车跑~调用的是子类重写后的功能
            /*父类对象不可以使用子类的特有功能*/
            //a.car();//报错,Transportation类里并没有这个方法
            //a.slow();//报错,Transportation类里并没有这个方法
            car.car();//四个轮子跑得快~,子类可以调用自己的功能
            bicycle.goout();//自行车好慢~,子类可以调用自己的功能

        }
    }
    /*多态的前提:继承+重写*/
    //创建父类
    class Transportation{
        //3.创建父类的普通方法
        public void goout(){
            System.out.println("出行~");
        }
    }
    //创建子类
    class Car extends Transportation{
        //添加重写的方法
        public void goout(){
            System.out.println("开汽车跑~");
        }
        //添加子类的特有功能
        public void car(){
            System.out.println("四个轮子跑得快~");
        }
    }
    //创建子类
    class Bicycle extends Transportation{
        //添加重写的方法
        @Override
        public void goout(){
            System.out.println("骑自行车跑~");
        }
        //添加子类的特有功能
        public void slow (){
            System.out.println("自行车好慢~");
        }
    }

}
相关文章
|
30天前
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
106 15
|
4月前
|
存储 Java 测试技术
Java零基础-多态详解
【10月更文挑战第10天】Java零基础教学篇,手把手实践教学!
64 4
|
4月前
|
Java 编译器 程序员
Java多态背后的秘密:动态绑定如何工作?
本文介绍了Java中多态的实现原理,通过动态绑定和虚拟方法表,使得父类引用可以调用子类的方法,增强了代码的灵活性和可维护性。文中通过具体示例详细解析了多态的工作机制。
96 4
|
4月前
|
存储 Java 测试技术
Java零基础-多态详解
【10月更文挑战第1天】Java零基础教学篇,手把手实践教学!
38 1
|
4月前
|
Java
java继承和多态详解
java继承和多态详解
67 5
|
4月前
|
安全 Java 编译器
【一步一步了解Java系列】:重磅多态
【一步一步了解Java系列】:重磅多态
36 3
|
5月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
5月前
|
Java
Java 多态趣解
在一个阳光明媚的午后,森林中的动物们举办了一场别开生面的音乐会。它们组成了一支乐队,每种动物都有独特的演奏方式。通过多态的魅力,狗、猫和青蛙分别展示了“汪汪”、“喵喵”和“呱呱”的叫声,赢得了观众的阵阵掌声。熊指挥着整个演出,每次调用 `perform()` 方法都能根据不同的动物对象唤起对应的 `makeSound()` 方法,展现了 Java 多态性的强大功能,让整场音乐会既有趣又充满表现力。
39 1
|
5月前
|
Java 编译器
Java——类与对象(继承和多态)
本文介绍了面向对象编程中的继承概念,包括如何避免重复代码、构造方法的调用规则、成员变量的访问以及权限修饰符的使用。文中详细解释了继承与组合的区别,并探讨了多态的概念,包括向上转型、向下转型和方法的重写。此外,还讨论了静态绑定和动态绑定的区别,以及多态带来的优势和弊端。
113 7
Java——类与对象(继承和多态)
|
6月前
|
安全 Java 编译器

热门文章

最新文章