`

关于JAVA静态方法的重写

阅读更多
JAVA静态方法形式上可以重写,但从本质上来说不是JAVA的重写。因为静态方法只与类相关,不与具体实现相关,声明的是什么类,则引用相应类的静态方法(本来静态无需声明,可以直接引用),看下例子:
Java代码  收藏代码

    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
非静态方法 按重写规则调用相应的类实现方法,而静态方法只与类相关
分享到:
评论

相关推荐

    静态(static)方法重写(override)

    ### 静态(static)方法与重写(override) #### 一、概念解析 在面向对象编程语言中,如Java,方法重写(override)是一种重要的特性,它允许子类提供一个与父类相同签名的方法实现。这种方法的实现允许在运行时...

    Java 继承和方法重写

    Java 8 开始支持默认方法和静态方法。 **二、方法重写(Override)** 1. **定义**: 方法重写是指子类重新定义父类中的某个方法,保持方法名、参数列表和返回类型不变,但可以修改方法的实现。 2. **重写规则**...

    java伪静态URL重写的方法

    总之,Java伪静态URL重写是通过URL重写库和Web应用的配置实现的,它可以使得动态网站以静态URL的形式展现,从而提高网站的可访问性和SEO效果。在实际应用中,可以根据项目需求自定义更复杂的URL重写规则。

    Java中方法重写与方法重载的比较.pdf

    Java中的方法重写(Overriding)与方法重载(Overloading)是面向对象编程中两个重要的概念,它们在实现多态性和代码复用时起到关键作用。本文将深入探讨这两个概念,以及它们在Java编程中的具体应用和区别。 1. **...

    Java中静态方法和非静态方法的区别.docx

    Java 中静态方法和非静态方法的区别 Java 作为一种功能强大、可靠性高、跨平台的编程语言,广泛应用于企业级应用开发、移动应用开发、云计算、大数据处理等领域。了解静态方法和非静态方法的区别是 Java 编程的基础...

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

    虽然这不是真正意义上的重写,因为静态方法在Java中不能被覆盖,但子类可以拥有与父类静态方法相同签名的静态方法。这样做可能会导致命名冲突,因此在设计时需要特别注意。如果在子类中调用同名的静态方法,Java...

    Java常见笔试、面试题目深度剖析,方法重写详解、静态代码块与构造方法执行顺序问题

    本文将深度剖析几个常见的Java面试题目,包括方法重写、静态代码块和构造方法的执行顺序。 首先,我们来讨论**方法重写(Override)**。在面向对象编程中,子类可以继承父类的属性和方法,有时需要根据自己的需求对...

    浅谈java中静态方法的重写问题详解

    Java中的静态方法重写是一个常见的误解,因为实际上Java并不支持静态方法的重写(Override),而是支持静态方法的隐藏(Hiding)。这篇文章将深入探讨这个问题,帮助开发者理解静态方法调用的机制以及如何正确实现...

    jsp 动态转静态 URL重写

    本篇文章将详细探讨“jsp动态转静态URL重写”的概念、重要性以及实现方法。 一、动态URL与静态URL的区别 1. 动态URL:动态URL通常包含“?”、“=”、"&"等特殊字符,用于传递参数给服务器执行相应的动态脚本,例如...

    java 页面静态化

    实现Java页面静态化的常见方法有两种: 1. **预渲染**:在系统启动或者后台定期任务中,根据特定的URL,通过Java代码获取数据并生成HTML文件,存储在文件系统或CDN上。这种方式适用于内容相对固定,更新不频繁的...

    Java重载和重写的区别--源码实例

    6. 静态方法不能被非静态方法重写。 在实际编程中,重载允许我们在一个类中创建具有相同名称但行为不同的方法,而重写则允许我们在子类中修改或扩展父类的行为,以适应特定的子类需求。这两者都是多态性的重要体现...

    Java编程子类能否重写父类的静态方法探索

    Java编程子类能否重写父类的静态方法探索 Java 编程中,子类能否重写父类的静态方法是一个值得讨论的问题。通过实例探索,我们可以了解到父类的静态方法可以被子类继承,但是不能重写。 首先,我们来看一下父类的...

    Java重写.docx

    Java中的重写(Override)和重载(Overload)是两个重要的概念,它们都是指方法的定义方式,但是它们之间存在着明显的区别。 方法的重载 在同一个类中,可以定义多个方法,它们的方法名相同,但是参数列表不同,...

    Java方法重载和方法重写的区别.docx

    Java编程语言中,方法的两种重要特性是方法重载(Overloading)和方法重写(Overriding)。这两种机制都是为了实现多态性,但它们在实际应用中有着明显的区别。 **方法重载(Overloading)**: 方法重载发生在同一...

    Java中的静态方法能否被重写?

    然而,由于Java的规定,子类B中的`staticMethod`并没有重写超类的静态方法,而是形成了一个新的静态方法,只在B类中可见。 在测试类Test中,我们创建了一个A类的引用`a`和一个B类的实例`a2`。当我们调用`...

    Java中方法重载与重写的区别

    1、重载  方法的重载是同一个类中多态性的一种表现。  方法重载须遵循如下两条规则  (1)方法名相同。  (2)参数列表不同。  注意:方法的返回值类型不能用来区分重载的方法。...  (5)静态方法不存在重

    java中的重载和重写的区别

    在Java中,非私有、非静态、非最终的方法调用都是在运行时确定的,这意味着实际调用哪个方法取决于对象的实际类型,而不是声明类型。这使得子类能够替换父类的行为,实现多态效果。 总结一下,重载和重写之间的主要...

    java静态网页

    Java静态网页技术主要涉及到将动态网页内容转换成静态HTML页面,以便提高网站的访问速度和搜索引擎优化(SEO)。动态网页通常由服务器上的程序在请求时生成,而静态HTML页面是预先生成并存储在服务器上,用户请求时...

    java代码静态检测规则

    ### Java代码静态检测规则概述 Java作为一种广泛应用的编程语言,在软件开发过程中,为了确保代码的质量、可维护性和安全性,采用代码静态检测工具是至关重要的。本文将详细介绍一系列针对Java代码的静态检测规则,...

    java之中的静态变量与静态方法的继承与覆盖问题.doc

    - **不参与多态**:静态方法不受多态的影响,即使在子类中重写了父类的静态方法,调用时仍然根据声明类型来决定执行哪个版本。 #### 静态变量与静态方法的继承与覆盖 - **静态变量不可覆盖**:在Java中,静态变量...

Global site tag (gtag.js) - Google Analytics