java 上溯造型与下塑造型

作者: 您好简书 | 来源:发表于2019-03-21 00:44 被阅读19次
    在这里插入图片描述 在这里插入图片描述

    父类:

    package com.neusoft.chapter07;
    
    public class Father {
        
        public int i = 1;
        public void say(){
            System.out.println("我是杜江");
        }
    }
    

    子类:

    package com.neusoft.chapter07;
    
    public class Son extends Father{
        public int i = 2;
        public void say(){
            System.out.println("我是嗯哼");
        }
    }
    

    父类指向父类:

    package com.neusoft.chapter07;
    
    public class Test {
        public static void main(String[] args) {
                   Father f = new Father();
                   System.out.println(f.i);
                   f.say();
        }
    }
    

    结果:

    1

    我是杜江
    2、子类指向子类:

    package com.neusoft.chapter07;

    public class Test {
        public static void main(String[] args) {
                   Son s = new Son();
                   System.out.println(s.i);
                   s.say();
        }
    }
    

    父类指向子类-----(上溯造型)

    package com.neusoft.chapter07;
    
    public class Test {
        public static void main(String[] args) {
                   Father f = new Son();
                   System.out.println(f.i);
                   f.say();
        }
    }
    

    结果:

    1

    我是嗯哼

    4、父类转子类-----(下塑造型)

    package com.neusoft.chapter07;
    
    public class Test {
        public static void main(String[] args) {
                   Father f = new Son();
                   Son s = (Son)f;
                   System.out.println(s.i);
                   s.say();
        }
    }
    
    

    结果:

    2

    我是嗯哼

    上溯造型特征:

    具有继承或实现关系

    父类和子类均有一个成员变量i最后拿到的是父类的i

    父类和子类均有一个say方法,最后执行的是子类的方法(say方法重写)

    下塑造型:

    先上转再向下转

    相关文章

      网友评论

        本文标题:java 上溯造型与下塑造型

        本文链接:https://www.haomeiwen.com/subject/qnxtvqtx.html