栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java多态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java多态

同一个对象,在不同时刻表现出的不同形态

举例:猫

我们可以说猫是猫 猫 cat =new 猫();

我们可以说猫是动物 动物 animal=new 猫();

这里猫在不同时刻表现出了不同的形态,这就是多态

多态的前提和实现

1.有继承/实现关系

2.有方法的重写

3.有父类引用指向子类对象

使用多态创建的类,虽然占用了子类大小的内存,但是只能访问父类中的变量和方法,该类自己定义的方法不能访问,这也是多态的弊端

 

 

如果访问子类中重写了父类的方法,调用时,会访问子类中重写的方法 

多态的好处

package com.class_decoration;

public class test {
    public static void main(String[] args) {
     Control control =new Control();
     Dog dog =new Dog();
     Cat cat =new Cat();
     Animal animal=new Animal();
     control.control(dog);
     control.control(cat);
     control.control(animal);
    }
}
class Control {
    public void control(Animal animal)//这里可以直接写他们的父类,传过来的是实参,相当于,Animal animal=new Dog/cat();
    {//如果不写父类,则要写两个方法,一个接收dag类型,一个接收cat类型
        animal.eat();
    }
}
class Animal {
    public void eat(){
        System.out.println("animal吃东西");
    }
}
class Dog extends Animal{
    @Override
    public void eat()
    {
        System.out.println("dog吃骨头");
    }
}
class Cat extends Animal {
    @Override
    public void eat(){
        System.out.println("小猫吃鱼");
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832266.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号