gpt4 book ai didi

java - 您可以在 Java 中重写静态方法吗?如果我在子类中创建相同的方法是编译时错误吗?

转载 作者:行者123 更新时间:2023-11-30 09:08:53 25 4
gpt4 key购买 nike

我认为你不能在 Java 中覆盖静态方法,但在子类中声明完全相同的方法不是编译时错误,这在 Java 中称为方法隐藏。但是,如果我必须重写静态方法怎么办。

// filename Test.java
public class Test {
public static void foo() {
System.out.println("Test.foo() called ");
}
public static void foo(int a) {
System.out.println("Test.foo(int) called ");
}
public static void main(String args[]) {
Test.foo();
Test.foo(10);
}
}

最佳答案

您不能在 Java 中覆盖静态方法,因为多态性和静态不能一起工作。静态方法是在类上调用的,而不是在实例中。

您可以在子类中隐藏父类(super class)静态方法。

关于java - 您可以在 Java 中重写静态方法吗?如果我在子类中创建相同的方法是编译时错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23318914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com