Java 静态方法可以被重写吗

发布时间:2025-02-06 03:13:21 作者:小樊
来源:亿速云 阅读:88

在 Java 中,静态方法是属于类而不是属于对象的。因此,静态方法不能被子类重写(Override),但可以被隐藏(Hide)。子类可以提供一个与父类静态方法具有相同名称、相同参数列表和相同返回类型的新静态方法,但这并不会导致父类的静态方法被重写。当子类的静态方法被调用时,将执行子类的版本,而不是父类的版本。

以下是一个示例:

class Parent {
    public static void method() {
        System.out.println("Parent method");
    }
}

class Child extends Parent {
    public static void method() {
        System.out.println("Child method");
    }
}

public class Main {
    public static void main(String[] args) {
        Parent obj1 = new Parent();
        Child obj2 = new Child();
        
        obj1.method(); // 输出 "Parent method"
        obj2.method(); // 输出 "Child method"
    }
}

在这个例子中,Child 类提供了一个与 Parent 类静态方法具有相同名称、相同参数列表和相同返回类型的新静态方法。当我们调用 obj1.method() 时,输出的是 “Parent method”,而当我们调用 obj2.method() 时,输出的是 “Child method”。这表明父类的静态方法并没有被重写,而是被隐藏了。

推荐阅读:
  1. 02.Java面向对象问题
  2. java抽象类和抽象方法的使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Java 静态类加载机制是怎样的

下一篇:Spring Security如何配置OAuth2认证

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》