Java多态的“向上转型”和“向下转型”

package com.general;

class Animal {
    public void tell1(){
        System.out.println("A--------tell1;");
    }

    public void tell2(){
        System.out.println("A -------tell2");
    }
}


class Dog extends Animal{
    @Override
    public void tell1(){
        System.out.println("B --------tell1;");
    }

    public void tell3(){
        System.out.println("B --------tell3;");
    }
}

public class PolDemo1{
    public static void main(String[] args){
        //向上转型: 父类  父类对象 = 子类实例
//        Animal animal = new Dog();

        Dog dog = new Dog();
        Animal animal = dog;
        animal.tell1();
        animal.tell2();


        System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&");
        //向下转型:先向上转型才能向下转型 子类 = (子类)父类实例
        Animal animal1 = new Dog();
        Dog dog1 = (Dog) animal1;

        dog1.tell1();
        dog1.tell2();
        dog1.tell3();
    }
}
运行结果:
B --------tell1;
A -------tell2
&&&&&&&&&&&&&&&&&&&&&&&&&&
B --------tell1;
A -------tell2
B --------tell3;



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值