Java多态

来源:互联网 发布:传智播客淘淘商城源码 编辑:程序博客网 时间:2024/05/22 14:33

一.多态

1)定义:

一种事物的多种形式

2)多态的规则

1.类与类之间继承关系

2.里面要有方法的重写

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

3)多态如何调用成员变量和成员方法

1.访问成员变量时

当父类引用调用成员变量时, 编译需要看父类中有没有这个成员变量,没有编译不会通过;运行后访问就是父类里的成员变量
成员变量
2.访问成员方法时

多态调用成员方法时,编译时看父类中有没有这个方法,没有就报错,运行时,运行的是子类这个方法
成员方法
4.多态的好处

1.增强了方法的可维护性(建立在继承的基础上)

2.增强方法的可扩展性(核心)

5.多态的弊端

1.不能直接调用子类特殊(不是重写父类的)方法

6.代码

public class Demo01 {    public static void main(String[] args) {//      Cat cat 本类的引用(指针)指向 new Cat()子类对象(空间)        //猫是一只猫(从后往前读)           Cat cat=new Cat();           cat.eat();      //猫是一只动物(不能是动物是只猫)(从后往前读)           //父类的指针(Anima animal) 指向子类的对象或(空间)(new Cat())          Animal animal=new Cat();          animal.eat();//猫吃鱼(打印结果)          Dog dog=new Dog();          dog.eat();          Animal animal2=new Dog();          animal.eat();      }}class Animal{    public void eat() {        System.out.println("吃");    }}class Cat extends Animal{    @Override    public void eat() {//方法的重写        // TODO Auto-generated method stub        super.eat();        System.out.println("猫吃鱼");    }}class Dog extends Animal{    @Override    public void eat() {//方法的重写        // TODO Auto-generated method stub        super.eat();        System.out.println("狗吃肉");    }}
原创粉丝点击