zoukankan      html  css  js  c++  java
  • static/final成员与多态

    前期绑定:程序在编译之前将调用方法绑定,如面向过程的C语言。

    后期绑定:程序在运行时决定与哪个方法绑定;如所有面向对象语言。

    在java中,static和final是不参与多态的,就是说多态性对static和final描述的成员无效。

    代码:

    package com.pcitc.pattern.static1;

     

    public class StaticAbstract {

       public static String staticVar = "我是父类的静态变量";

      

       public static void printStatic(){

         System.out.println("我是父类的静态方法");

       }

      

       public void printNoStatic(){

         System.out.println("我是父类的非静态方法");

       }

    }

    package com.pcitc.pattern.static1;

    public class StaticBean extends StaticAbstract{

         public static String staticVar = "我是子类的静态变量";

        

         public static void printStatic(){

            System.out.println("我是子类的静态方法");

         }

        

         public void printNoStatic(){

            System.out.println("我是子类的非静态方法");

         }

    }

    package com.pcitc.pattern.static1;

     

    public class Client {

     

      /**

       * @param args

       */

      public static void main(String[] args) {

         // TODO Auto-generated method stub

           

             StaticAbstract sa = new StaticBean();

             System.out.println(sa.staticVar);

             sa.printStatic();

             sa.printNoStatic();

     

             System.out.println("--------------");

            

             StaticBean sb = new StaticBean();

             System.out.println(sb.staticVar);

             sb.printStatic();

             sb.printNoStatic();

      }

     

    }

    运行结果:

    我是父类的静态变量

    我是父类的静态方法

    我是子类的非静态方法

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

    我是子类的静态变量

    我是子类的静态方法

    我是子类的非静态方法

    通过以上代码示例,可得出:sa.printStatic();调用的是父类的静态方法,同StaticAbstract. printStatic(),没有多态。sa.printNoStatic();调用的是子类的方法,是多态。
  • 相关阅读:
    Web应用Word生成
    记 Ubuntu14.04 Monodevelop 安装的两个问题
    CSDN上下载的一些关于Android程序调用Webservice执行不成功的问题
    Binary Search Tree Iterator
    算法之贪心算法
    《SAS编程与数据挖掘商业案例》学习笔记之十七
    数据库设计之半结构化存储
    Timus 1446. Sorting Hat 分类问题
    WebGL on iOS8 最终等到了这一天
    仿netty线程池简化版本
  • 原文地址:https://www.cnblogs.com/mysqlcluster/p/2033470.html
Copyright © 2011-2022 走看看