当前位置: 首页 > 知识库问答 >
问题:

为什么我能够访问静态方法[重复]

牧甫
2023-03-14

我从一个有静态方法的类(B)扩展了一个类(a),然后在另一个类(C)中,我创建了一个类(a)的实例,并且我能够访问类B的静态方法。为什么会这样?

A类:

public class NetworkUtils extends AbsClass {}

B类:

public class AbsClass {
static public void eat(){}
}

C类:

Networkutills network = new Networkutills();
network.eat();    //why should I access eat class method

共有1个答案

壤驷麒
2023-03-14

因为类A继承了类B。

也许你对此感兴趣。

 类似资料:
  • 为什么可以从子实例访问我的超类的静态方法? 我可以同意从父类的实例访问父类的静态方法。但是如果我实例化一个子类,访问父类的静态上下文会很奇怪。 PS 在实例上调用静态方法的优点是什么?

  • 问题内容: 这是指帖子 ..无法回复或评论任何这样创建的新帖子。为什么是我的 发出警告-应该以静态方式访问静态字段MyUnits.MILLSECONDS吗?谢谢。 问题答案: 因为当您访问静态字段时,您应该在类(或本例中为枚举)上执行此操作。如 不在实例中 编辑 要解决 为什么这样 的问题:在Java中,当您将声明为时,就是说它是类的成员,而不是对象(因此为什么只有一个)。因此,在对象上访问它是没

  • 我试图理解为什么我们不能覆盖静态和最终方法。我不明白背后的目的。

  • 编译器在第3行给出了一个错误 此实例方法无法重写Abc中的静态方法 为什么静态方法不能被实例方法覆盖?

  • 伙计们,我有一个简单但令人讨厌的问题。据我所知,基本上意味着,对于该类的每个实例,这个方法将是相同的,如果我们改变它,这将改变该类的每个实例,它也被称为类方法。那么,如果我有一个类,它实现了某种格式的方法,让我们说: 为什么不能设置为静态?因为该类的每个实例的格式都是相同的。。。?

  • 问题内容: 在静态上下文中,为什么不能调用的静态版本(而不是必须使用)? 编译器不够聪明,无法确定何时使用对象方法+何时使用静态方法吗? 注意: 我并不是说应该使用a 而不 是非静态方法(这很明显- 如果是的子类,则a的of 可能返回或其他,必须在运行时确定)。 我是说我想知道为什么没有 两个 版本,一个是仅适用于静态上下文的静态方法,另一个是常规的非静态方法。如果不可能,那就不可能了,那就是答案