数据加载中……
静态方法可以被继承,但是不能被覆写。
静态方法可以被继承,但是不能被覆写。

package com.wantukang;

class Base {
 public static void static_method() {
  System.out.println("base static method");
 }

 public void method() {
  System.out.println("base instance method");
 }
}

class Child extends Base {

 public void method() {
  System.out.println("child instance method");
 }

// public static void static_method() {
//  System.out.println("child static_method");
// }

}

public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  Base base = new Base();
  Child child = new Child();

  base.static_method();
  child.static_method();


 }

}

输出:
base static method
base static method


package com.wantukang;

class Base {
 public static void static_method() {
  System.out.println("base static method");
 }

 public void method() {
  System.out.println("base instance method");
 }
}

class Child extends Base {

 public void method() {
  System.out.println("child instance method");
 }

 public static void static_method() {
  System.out.println("child static_method");
 }

}

public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  Base base = new Base();
  Child child = new Child();

  base.static_method();
  child.static_method();
  
  base = child;
  base.static_method();


 }

}

输出:
base static method
child static_method
base static method


可能是因为静态函数没有this指针,所以没法跟踪调用其的是到底是哪个实例变量,只能以引用变量来调用。
比如,引用变量base实际指向Child实例,但是调用静态函数,只能是调用Base类中的静态函数。

posted on 2009-07-01 18:45 wan-scut 阅读(955) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: