码迷,mamicode.com
首页 > 其他好文 > 详细

静态(static)方法的继承和重写

时间:2014-09-20 13:57:37      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:blog   http   ar   strong   art   sp   代码   log   on   

 静态方法大家应该都比较熟悉,在这里主要谈一下静态方法在继承时的一些注意事项。

 

1、父类方法如果是静态方法,子类不能覆盖为非静态方法;

2、父类方法如果是非静态方法,子类不能覆盖为静态方法;

3、父类静态方法可以被覆盖,允许在子类中定义同名的静态方法,但是没有多态。

下面对第3条特性进行一下代码演示:

class Demo{
 public static void display(){
  System.out.println("hello");
 }
}

class DemoTest extends Demo{
 public static void display(){
  System.out.println("nihao");
 }
}

public class TestStaticExtend{
 public static void main(String args[]){
  Demo d=new Demo();
  d.display();
  d=new DemoTest();//注意观察这条语句的输出,是输出hello还是nihao
  d.display();
 }
}

析:运行该程序你会发现输出的是两个hello,这就是上面所说的“没有多态”,当你将红色的static去掉之后再运行会发现输出的是hello和nihao,此时恢复了多态。

 

原文:http://blog.csdn.net/lubiaopan/article/details/4804139

静态(static)方法的继承和重写

标签:blog   http   ar   strong   art   sp   代码   log   on   

原文地址:http://www.cnblogs.com/veins/p/3983006.html

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