• 多态(重点:方法的多态性和对象的多态性)


    父类引用变量强制转子类,子类的方法可以调用了
    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
    
        }
    
    }
  • 相关阅读:
    Linux常用几种shell
    opencv中snake的调用方法示例
    GIT 常用命令手册
    偏最小二乘法回归(Partial Least Squares Regression)
    镜头的参数指标
    Git详解Git分支
    tab选项卡,不带自动切换定时器
    setTimeout和setInterval
    tab选项卡,带自动播放
    动态添加,删除class样式
  • 原文地址:https://www.cnblogs.com/cs-lcy/p/7413930.html
Copyright © 2020-2023  润新知