`

突然觉得静态方法不能被子类覆写,写个例子证明下吧

    博客分类:
  • jdk
阅读更多
package test;

/**
 * @author lidongbo
 */
public class Father {

    public static void say(){
        System.out.println("教训儿子!");
    }
}



package test;

/**
 * @author lidongbo
 */
public class Child extends Father {


    public static void say(){
        System.out.println("我很委屈!");
    }
    
    public static void main(String[] args) {
        Father father=new Child();
        father.say();//相当于Father.say();,当然了,静态方法和Class一起分配的和具体实例没关系,当然覆盖不了了,我证明了我的猜测
    }
    
}


1
2
分享到:
评论

相关推荐

    重载与覆写/重写的区别

    重载与覆写/重写的区别 ... 父类中private方法不能被子类重写,因为private只有父类本类可见。 */ /** * 6. 静态方法不存在重写概念,重写是面向对象特性,静态方法是类方法,用类名直接访问。 */ 复制代码

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

    Java 中的静态方法不能被子类覆盖,因为它们不参与多态性。在 `AA` 和 `B` 类的例子中,虽然 `B` 类没有覆写 `a()` 方法,但仍然可以通过子类 `B` 的名字直接调用 `a()`,因为静态方法在继承中是直接继承的,而不是...

    行业分类-设备装置-一种数据覆写方法.zip

    1. **覆写次数**:通常,一次覆写可能不足以彻底销毁数据,因为现代数据恢复技术有时能恢复部分信息。国际标准如DoD 5220.22-M建议进行7次覆写,以提高数据的不可恢复性。 2. **覆写算法**:选择合适的覆写算法也是...

    java中final和static的区别

    4. final 修饰方法(但不包括抽象方法、构造方法):该方法不能被子类覆写,但是该方法可以被子类继承。 5. 注意:父类的 private 成员方法是不能被子类方法覆盖的,因此 private 类型的方法默认是 final 类型的。 ...

    解决Kotlin 类在实现多个接口,覆写多个接口中相同方法冲突的问题

    一、首先来看一个例子 package net.println.kotlin.chapter4 /** * @author:wangdong * @description:类实现接口的冲突问题 */ interface B{ fun x(): Int = 1 } interface C{ fun x(): Int = 0 } /**一个类...

    覆写onMeasure例子

    在这个例子中,`getDesiredWidth()`和`getDesiredHeight()`是你自定义的计算方法,它们返回视图理想或所需的宽度和高度。接着,你需要检查这些值是否符合父View的限制,确保不会超出边界。最后,通过`...

    java中静态与非静态的区别

    这意味着它们可以被派生类访问,但不能被覆写。 4. **性能考量**: - 在性能上,静态方法与实例方法差别不大。但是由于静态方法的调用不需要实例化对象,因此在某些情况下可能会稍微快一点。 #### 五、静态内部类...

    C#程序员面试问题及答案

    知识点:可以使用sealed关键字标记某个方法,使其不能被子类覆写。 15. 什么是抽象类(abstract class)? 答案:一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有...

    详解java重载与覆写的区别

    3. **static和final修饰的方法**:静态方法不能被覆写,因为它们不属于类的实例,而是属于类本身。同样,`final`方法也不能被覆写,因为它们的行为已经固定,不可改变。 4. **构造方法**:构造方法不能被覆写,但...

    javascript 方法覆写实例代码

    然而,方法覆写这个概念却是在同一个作用域内讨论的,如果函数定义在不同的作用域内,比如不同的函数体或对象内,那么这些函数定义之间就不存在覆写关系。但在本例中,两个`__doPostBack`函数定义在同一个全局作用域...

    .NET面试大全

    11. **静态与非静态方法的覆写**:不能将非静态方法覆写为静态方法,因为静态方法不与特定实例关联。 12. **私有虚方法的覆写**:不能覆写私有虚方法,因为子类无法访问父类的私有方法。 13. **阻止继承**:使用`...

    Visual C#程序员面试基础问题和答案.doc

    11. **非静态方法的覆写**:覆写方法的签名必须与被覆写的方法一致,不能将非静态方法覆写为静态方法。 12. **覆写私有虚方法**:不行,因为私有方法在子类中不可见,无法覆写。 13. **阻止继承**:使用`sealed`...

    Visual C程序员面试问题及答案.pdf,这是一份不错的文件

    因此,不能将非静态方法覆写为静态,也不能覆写私有虚方法,因为私有方法在子类中不可见。 12. **防止继承**:使用`sealed`关键字可以阻止一个类被其他类继承。例如: ```csharp 密封类 SealedClass {} ``` 理解并...

    Java中final与继承操作实例分析

    final 修饰的方法表示该方法不能被子类覆写;final 修饰的类表示该类不能被继承。 二、final 方法不能被子类覆写 在 Java 中,如果在基类中将某个方法声明为 final,那么在子类中该方法将不能被覆写。例如: ```...

    C#基础面试题_2.pdf

    11. **对象与静态方法**:对象不能调用静态方法,因为静态方法属于类而不是类的实例。 12. **多重继承**:C#不支持类之间的多重继承,但支持接口间的多重继承。类可以通过实现接口来扩展其功能。 13. **protected...

    c#面试问题

    11. **静态方法的覆写**:不能将非静态方法覆写为静态方法,因为静态方法不参与继承。 12. **覆写私有虚方法**:不可以,因为子类无法访问父类的私有方法,更别提覆写了。 13. **阻止继承**:使用`sealed`关键字...

    网页静态化例程 网站静态化学习的第一步

    在本文中,我们将深入探讨如何实现一个简单的网页静态化过程,以"网页静态化例程 网站静态化学习的第一步"为例,结合开发环境MyEclipse和MySQL数据库。 首先,我们要理解静态化的基本概念。静态化是指将动态生成的...

    NET面试大全,标题写的详细更容易被他人下载

    覆写方法不能是静态的,签名必须与被覆写的方法匹配。 10. **抽象类与接口**: - 抽象类(abstract class)不能被实例化,可以包含抽象方法(无实现)和非抽象方法(有实现)。当类包含抽象方法或未实现父类的抽象...

Global site tag (gtag.js) - Google Analytics