码迷,mamicode.com
首页 > 编程语言 > 详细

java静态方法的重写,为什么不能?

时间:2015-06-02 09:28:10      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:java   静态方法   重写   为什么不能   

JAVA静态方法形式上可以重写,但从本质上来说不是JAVA的重写。因为静态方法只与类相关,不与具体实现相关,声明的是什么类,则引用相应类的静态方法(本来静态无需声明,可以直接引用),看下例子:
Java代码  技术分享
  1. class Base{  
  2.         static void a( ){System.out.println("A");  }  
  3.                  void b( ){System.out.println("B"); }  
  4. }  
  5. public class  Inherit extends Base{  
  6.           static void a( ){System.out.println("C");  }  
  7.                   void b( ){System.out.println("D"); }  
  8.            public static void main(String args[]){  
  9.                     Base b=new Base();  
  10.                     Base  c=new Inherit();  
  11.                     b.a();  
  12.                     b.b();  
  13.                     c.a();  
  14.                     c.b();  
  15.          }  
  16. }  


以上输出的结果是:A
                           B
                           A
                           D
非静态方法 按重写规则调用相应的类实现方法,而静态方法只与类相关。

java静态方法的重写,为什么不能?

标签:java   静态方法   重写   为什么不能   

原文地址:http://blog.csdn.net/litong09282039/article/details/46317181

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!