欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java之多态

程序员文章站 2022-06-21 13:35:40
概念:父类引用指向子类对象,从而产生多态。二者具有直接或间接地继承关系时,父类引用即指向子类对象,即形成多态。父类引用只可调用父类中声明的属性和方法,不可调用子类中独有的属性和方法。......

概念:

父类引用指向子类对象,从而产生多态。
java之多态

  • 二者具有直接或间接地继承关系时,父类引用即指向子类对象,即形成多态。
  • 父类引用只可调用父类中声明的属性和方法,不可调用子类中独有的属性和方法。
    实例:某中学的一名老师,没钱的时候骑自行车去学校,有钱了买了小汽车开车去学校。
public class Test01 {
    public static void main(String[] args) {
        Teacher t1=new Teacher();
        //类的多态:子类对象指向父类引用
        //类的多态:父类引用存储了子类对象的内存地址
        Vehicl v1=new Bike();
        t1.open(v1);
        System.out.println("-------------------");
        t1.close(v1);

        Vehicl v2=new Car();
        t1.open(v2);
        System.out.println("-------------------");
        t1.close(v2);
    }
}

abstract class Vehicl{					//交通工具类(父类)
    public abstract void start();
    public abstract void stop();
}

class Bike extends Vehicl{				//自行类(子类)
    @Override
    public void start(){
        System.out.println("开始骑车");
    }

    @Override
    public void stop(){
        System.out.println("开始下自行车");
    }
}

class Car extends Vehicl{				//汽车类(子类)
    @Override
    public void start(){
        System.out.println("汽车打火");
    }

    @Override
    public void stop(){
        System.out.println("汽车熄火");
    }
}

class Teacher{							//教师类
    public void open(Vehicl v){
        v.start();
    }
    public void close(Vehicl v){
        v.stop();
    }
}

运行结果:

开始骑车
-------------------
开始下自行车
汽车打火
-------------------
汽车熄火

本文地址:https://blog.csdn.net/LLY_A_/article/details/107204052

相关标签: JAVA学习