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
    
        }
    
    }
  • 相关阅读:
    有限制的最大连续和问题
    Codevs 5056 潜水员
    Codevs 1958 刺激
    Codevs 3731 寻找道路 2014年 NOIP全国联赛提高组
    [NOIP2014]解方程
    Codevs 3729 飞扬的小鸟
    Codevs 1689 建造高塔
    Codevs 2102 石子归并 2
    C语言基础之进制的那些事(1)
    指针
  • 原文地址:https://www.cnblogs.com/cs-lcy/p/7413930.html
Copyright © 2011-2022 走看看