zoukankan      html  css  js  c++  java
  • 多态(重点:方法的多态性和对象的多态性)

    父类引用变量强制转子类,子类的方法可以调用了
    class A{
        public void say(){
            System.out.println("类A进行say");
        }
    }
    
    class B extends A{
        @Override
        public void say(){
            System.out.println("子类B进行say");
        }
        public void say1(){
            System.out.println("子类B进行say1");
        }    
    }
    
    class C extends A{
        @Override
        public void say(){
            System.out.println("子类C进行say");
        }
        public void say1(){
            System.out.println("子类C进行say1");
        }    
    }
    
    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            A a1 = new B();//向上转型
            A a2 = new C();
            a1.say();// 子类B进行say
            a2.say();// 子类C进行say
            //a对象会遗失和父类不同的方法,a点不出来say1()这个方法
            B b1 = (B)a1;
            b1.say1();//子类B进行say1    
            b1.say(); //子类B进行say
        }
        
    }
    
    /*向上塑性的好处是,增加extensible,
    增加一个实现类c,照样可以用A的引用变量.say()*/
    
    —————————————————————————————————————————————————
    接口类型强制转换成实现类类型
    interface A{
        public void say();
    }
    
    class B implements A{
        @Override
        public void say(){
            System.out.println("子类B进行say");
        }
        public void say1(){
            System.out.println("子类B进行say1");
        }    
    }
    
    
    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            A a = new B();
            a.say();//子类B进行say,点不出say1()
            B b =(B)a; //这里必须进行强制转换;接口类型a转类类型b
            b.say();//子类B进行say
            b.say1();//子类B进行say1
    
        }
    
    }
  • 相关阅读:
    vscode task 与 linux shell编程小记
    Python并行计算专题
    分类任务评价指标(Accuracy / Precision / Recall / F1 / ROC / AUC)
    JAVA笔记 10.04
    MySQL5.7忘记密码 Linux
    MYSQL 获取最近多少天时间列表
    Volatile 关键字的原理和实现
    安装正常APP时被小米提醒是诈骗APP不允许安装的问题
    【瞎口胡】网络流基础
    题解 Luogu P4774 [NOI2018]屠龙勇士
  • 原文地址:https://www.cnblogs.com/cs-lcy/p/7413930.html
Copyright © 2011-2022 走看看