博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有关java中static关键的重写问题
阅读量:7079 次
发布时间:2019-06-28

本文共 1070 字,大约阅读时间需要 3 分钟。

《Java编程思想》中这样提到“只有普通的方法调用可以是多态的”。说白了,就是静态方法不能实现重写这种多态。

JAVA静态方法形式上可以重写(只要子类不加@Override关键字修饰的话,即可编译通过),但从本质上来说不是JAVA的重写。因为静态方法只与类相关,不与具体实现相关,声明的是什么类,则引用相应类的静态方法(本来静态无需声明,可以直接引用),看下例子:

Java代码
  1. class Base{ 
  2.         static void a( ){System.out.println("A");  } 
  3.                  void b( ){System.out.println("B"); } 
  4. public class  Inherit extends Base{ 
  5.           static void a( ){System.out.println("C");  } 
  6.                   void b( ){System.out.println("D"); } 
  7.            public static void main(String args[]){ 
  8.                     Base b=new Base(); 
  9.                     Base  c=new Inherit(); 
  10.                     b.a(); 
  11.                     b.b(); 
  12.                     c.a(); 
  13.                     c.b(); 
  14.          } 
class Base{        static void a( ){System.out.println("A");  }                 void b( ){System.out.println("B"); }}public class  Inherit extends Base{          static void a( ){System.out.println("C");  }                  void b( ){System.out.println("D"); }           public static void main(String args[]){                    Base b=new Base();                    Base  c=new Inherit();                    b.a();                    b.b();                    c.a();                    c.b();         }}

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

转载地址:http://bzcml.baihongyu.com/

你可能感兴趣的文章
基本的IPX配置
查看>>
稳扎稳打Silverlight(32) - 2.0Tip/Trick之MessageBox, Popup, 循环的几种实现方法, 动态变换主题...
查看>>
SQL Server存储过程输入参数使用表值
查看>>
SQL Injection [ Bypassing WAF (403 Forbidden) ]
查看>>
拇指接龙游戏从WIN32向Android移植过程问题记录(2)
查看>>
开源安全技术的四大好处
查看>>
LoadRunner在移动端性能测试的应用
查看>>
Hello JMX!
查看>>
轻松学习Linux之认识Shell
查看>>
Golang之interface
查看>>
SQL Server T-SQL高级查询
查看>>
Python自省(反射)指南[转]
查看>>
阿里巴巴公布了一份最新的AI成绩单
查看>>
Azure ARM (4) 开始创建ARM Resource Group并创建存储账户
查看>>
jQuery学习笔记开篇
查看>>
基于Xcode5的本地化
查看>>
【Linux高级驱动】linux设备驱动模型之平台设备驱动机制【转】
查看>>
Windows Embedded Standard开发初体验(一)
查看>>
与二进制有关的几道面试题
查看>>
这样的程序员创业有戏
查看>>