gpt4 book ai didi

java - 最终和私有(private)静态

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:30:11 24 4
gpt4 key购买 nike

我读到这样做:

public final void foo() {}

等于:

private static void foo() {}

两者都意味着该方法不可重写!

但是如果一个方法是私有(private)的,我看不到等价性它自动不是可访问...

最佳答案

你确实不能@Override两种方法。你只能 @Override一个非 final 实例方法。

  • 如果是 final , 那你就没办法了 @Override
  • 如果是 static , 那么它就不是一个实例方法开始

他们“相等”是真的,因为一个是private static , 另一个是 public final .

  • 他们有不同的可访问性级别
  • instance 方法需要一个实例来调用,class 方法不需要
  • 方法不能引用来自static实例 方法/字段背景

你不能@Override一个static方法,但你可以用另一个 static隐藏它方法。 static当然,方法不允许动态调度(这是由 @Override 完成的)。

引用资料

相关问题

关于java - 最终和私有(private)静态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3051730/

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