【问题标题】:All the classes in java belong to Object Class , then why can't a class be staticjava中的所有类都属于Object Class,那么为什么一个类不能是静态的
【发布时间】:2018-12-23 17:52:31
【问题描述】:

对于静态类,要求它不是顶级类。既然所有的类都属于Object类,它是所有类的上级,那为什么我们不能用static关键字创建一个类呢?为什么静态类只能在嵌套场景中使用。

【问题讨论】:

  • 只有嵌套类才有静态或非静态的能力与所有类型都是Object 的子类型这一事实有关吗?很不清楚。如果您只是想知道为什么不能将顶级类型标记为静态,那么(唯一的)答案是:因为语言是这样说的。但这也是有道理的。嵌套类也是其周围类的成员。顶级课程不是。
  • “顶级类”并不意味着该类不扩展另一个类,它意味着该类没有被另一个类封闭(即不是另一个班级的成员)。

标签: java static


【解决方案1】:

Java 中的所有类(传递地)扩展 Object,它们不是其中的内部类。

static 对于顶级课程没有任何意义,因此被禁止。对于内部类,static 与其他成员(例如数据成员和方法)的含义相同 - 内部类属于外部类,而不是它的特定实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 2016-12-29
    • 2011-01-23
    • 2020-09-29
    • 1970-01-01
    相关资源
    最近更新 更多