0
点赞
收藏
分享

微信扫一扫

面向对象的三大特征之多态

捌柒陆壹 2022-04-06 阅读 75
java

多态的意义:一个对象,多种形态
                父类可以代表子类
                多态下创建对象:
                    父类 对象名 = new 子类([参数]);
                    引用类型 引用对象 = new 实际类型([参数]);
                    引用对象只能调用父类中存在或者重写的方法

父类:

package com.zking.test;

/**
 * 父类 动物类
 * @author d
 *
 */
public class Animal {
    int age;
    String name;
    
    public void eat() {
        System.out.println("牙好胃口就好");
    }
}

子类:

package com.zking.test;

/**
 * 子类:狗类
 * @author d
 *
 */
public class Dog extends Animal {
    
    //重写 吃方法
    public void eat() {
        System.out.println("蘸着吃");
    }
    
    public void run() {
        System.out.println("狗急了跳墙");
    }

}

这个子类里有一个"run"方法,是父类里没有的,

那么这个"run"方法在测试类中就无法被调用。

子类:

package com.zking.test;

public class Test {
    public static void main(String[] args) {
        //创建一个动物对象,这只动物是只狗
        Animal a = new Dog();
        a.eat();

就验证了这句“  引用对象只能调用父类中存在或者重写的方法”

但是你一定要调用的话就得运用下面这个方法

//把引用对象转换为实际类型
        Dog dog = (Dog)a;//强制转换:(转换后的类型)要转换的数据
        dog.run();

举报

相关推荐

0 条评论