zoukankan      html  css  js  c++  java
  • 多态的成员特点

    ⒈在多态中非静态成员函数的特点:
    ①在编译时期:参阅引用型变量所属的类中是否有调用方法。如果有,编译通过,否则编译失败;
    ②在运行时期:参阅对象所属的类中是否有调用的方法。
    --------------------------------------------------
    //总之:成员函数在调用时,编译看左边,运行看右边。//
    --------------------------------------------------
    2.在多态中成员同名变量的特点:(ps:不同名未考证)
    无论编译还是运行,都参考左边(引用型变量所属的类)
    3.在多态中静态成员函数的特点:
    无论编译还是运行,都参考左边(引用型变量所属的类)
    example:
    Class Fu
    {
    int num=1;
    public void method1()
    {
    System.out.println("fu_1");
    }
    public void method3()
    {
    System.out.println("fu_3");
    }
    //静态方法(包括变量)不所属于对象,它绑定于所属的类,会在内存中提前加载出来
    public static void method4()
    {
    System.out.println("fu_4");
    }
    }
    Class Zi extends Fu
    {
    int num=2;
    public void method1()
    {
    System.out.println("zi_1");
    }
    public void method2()
    {
    System.out.println("zi_2");
    }
    public static void method4()
    {
    System.out.println("zi_4");
    }
    }
    Class Duotaitest
    {
    public static void main (String [] args)
    {
    Fu f=new Zi ();
    f.method1();
    //f.method2(); 此行代码若存在,则编译失败,Fu类中没此方法
    f.method3();
    f.method4();
    System.out.println(f.num);
    Zi z= new Zi();
    System.out.println(z.num);
    }
    /*
    运行结果: zi_1
    fu_3
    fu_4 //静态方法不能被子类重写覆盖,若想调用子类中的静态方法(一般没这么用的,只是面试会用到)Zi.method4(类名.方法名)
    1
    2
    */

    }

  • 相关阅读:
    SDN2017 第四次作业
    SDN2017 第三次实验作业
    软件工程实践2017 个人作业——软件工程实践总结作业
    sdn2017 第三次作业
    Golang 探索对Goroutine的控制方法
    SDN2017 第二次实验作业
    SDN2017 第二次作业
    Redis在游戏服务器中的应用
    手机游戏开发
    手机游戏开发
  • 原文地址:https://www.cnblogs.com/daixiaotian/p/4215572.html
Copyright © 2011-2022 走看看