• Java面向对象之多态(成员访问特点) 入门实例


    一、基础概念

      多态的调用方式在子父类中的特殊体现。

      1.访问成员变量特点:
        当子父类中出现同名成员变量时。

        多态调用时,编译和运行都参考引用型变量所属的类中的成员变量。

        即编译和运行看等号的左边。

      2.访问成员函数特点:

        当子父类中出现一模一样的函数时。

        多态调用时,编译参考的是引用型变量所属的类,运行时参考的是对象所属类。因为函数有一个覆盖的特性。

        即编译看左边,运行看右边。

      3.访问静态函数特点:
        当子父类中出现一模一样的静态函数时。

        多态调用时,编译和运行都参考引用型变量所属的类中的静态函数。

        即编译和运行看等号的左边。

    二、实例代码

     1 class Fu
     2 {
     3     int num = 4;
     4     void show()
     5     {
     6         System.out.println("fu run  ......");
     7     }
     8     static void staticshow()
     9     {
    10         System.out.println("fu static show  ......");
    11     }
    12 }
    13 
    14 class Zi extends Fu
    15 {
    16     int num = 5;
    17     void show()
    18     {
    19         System.out.println("Zi run  ......");
    20     }
    21     static void staticshow()
    22     {
    23         System.out.println("Zi static show  ......");
    24     }
    25 }
    26 
    27 class DuoTaiDemo2 
    28 {
    29     public static void main(String[] args) 
    30     {
    31         //访问成员变量
    32         Fu f1 = new Zi();//多态向上转型
    33         Zi z1 = (Zi)f1;//多态向下转型
    34         System.out.println(f1.num);
    35         System.out.println(z1.num);
    36         
    37         //访问成员函数
    38         Fu f2 = new Zi();
    39         Zi z2 = (Zi)f2;
    40         f2.show();
    41         z2.show();
    42         
    43         //访问静态函数
    44         Fu f3 = new Zi();
    45         Zi z3 = (Zi)f3;
    46         f3.staticshow();
    47         z3.staticshow();
    48     }    
    49 }

    三、代码运行

      

  • 相关阅读:
    Unity3d资源管理分析
    Unity3D之MonoBehaviour的可重写函数整理
    Unity3D脚本学习——运行时类
    A*寻路初探(转载)
    360sdk网游支付服务
    总结使用Unity 3D优化游戏运行性能的经验
    Unity3D之Lightmap详解
    「luogu2714」四元组统计
    「BZOJ1066」[SCOI2007]蜥蜴
    「luogu1251」餐巾计划问题
  • 原文地址:https://www.cnblogs.com/zhuxr/p/8961908.html
Copyright © 2020-2023  润新知