• static 继承


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

     

    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,此时恢复了多态。

  • 相关阅读:
    MySQL 8.0+ 时区问题
    SSM框架整合搭建流程
    最大子段和、最大子矩阵和
    棋盘覆盖(分治)
    石子合并问题
    矩阵连乘
    selenium完成滑块验证
    背包问题(2)
    背包问题(1)
    皇后问题
  • 原文地址:https://www.cnblogs.com/bdqczhl/p/7976105.html
Copyright © 2020-2023  润新知