zoukankan      html  css  js  c++  java
  • java 上溯造型与下塑造型

    父类:

    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("我是嗯哼");
        }
    }

    1、父类指向父类:

    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();
        }
    }

     结果:

      2

      我是嗯哼

    ------------------------------------------------------------------------------

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

    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方法重写)

    下塑造型:

      先上转再向下转

  • 相关阅读:
    JavaScript跳转到指定页面并且到指定的tab切换窗口
    三层架构之基础篇(对数据库增删改查)
    三层架构之基础篇(三层架构模型)
    过一天不登QQ的生活
    MVC + EF 框架 对数据库做增删改查
    想说的话
    新的2019年,向上
    C#读取txt文档
    C#写的 电子邮件客户端(winform窗体)
    C# 鼠标任意拖动无边框窗体(调用API函数)。
  • 原文地址:https://www.cnblogs.com/makangning/p/9481288.html
Copyright © 2011-2022 走看看