Java基础-多态

Posted 猪八戒1.0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础-多态相关的知识,希望对你有一定的参考价值。

1.多态

1.1多态概述

 animal类

public class animal 
    public void eat()
        System.out.println("动物吃食物");
    

cat类 

    //1.有继承
public class cat extends animal 
    //2.有重写
    @Override
    public void eat() 
        System.out.println("猫吃鱼");
    

AnimalDemo测试类

public class AnimalDemo 
    public static void main(String[] args) 
        //3有父类引用指向子类对象
        animal a=new cat();
    

1.2多态中成员访问特点

注意

如animal a=new cat(),调用a.成员变量/成员方法必须animal类中含有。如果子类cat中重写了父类的方法,调用执行的成员函数是子类的成员函数。

1.3多态的好处和弊端

  animal类

public class animal 
    public void eat()
        System.out.println("动物吃食物");
    

cat类 

public class cat extends animal 
    @Override
    public void eat() 
        System.out.println("猫吃鱼");
    

dog类 

public class dog extends animal
    @Override
    public void eat() 
        System.out.println("狗吃骨头");
    

 AnimalOperator类

当多个时就可以体现出多态的好处(看注释部分)

public class AnimalOperator 
//    public void useAnimal(cat c)
//        c.eat();
//    
//    public void useAnimal(dog d)
//        d.eat();
//    
    public void useAnimal(animal a)
        a.eat();
    

 AnimalDemo测试类

public class AnimalDemo 
    public static void main(String[] args) 
        AnimalOperator ao=new AnimalOperator();
        cat c=new cat();
        ao.useAnimal(c);
        dog d=new dog();
        ao.useAnimal(d);
    

待续

以上是关于Java基础-多态的主要内容,如果未能解决你的问题,请参考以下文章

java基础知识——16.多态

java8-3 多态的好处和弊端以及多态的理解

JAVA零基础小白学习教程之day08_接口&多态

JAVA零基础小白学习教程之day08_接口&多态

Java语言简介基础组成封装继承多态抽象类内部类接口

Java语言简介基础组成封装继承多态抽象类内部类接口