【问题标题】:Why can't we specify default access modifier for a class [duplicate]为什么我们不能为类指定默认访问修饰符[重复]
【发布时间】:2016-10-11 01:59:33
【问题描述】:

我知道为什么 private 和 protected 是类的非法修饰符,但为什么默认值是不可接受的。我认为如果我们不指定任何访问修饰符,default 会被分配。但是像default class Student 这样明确地输入它会给我一个语法错误

【问题讨论】:

  • 没有“默认”这样的访问级别。访问级别是以下四种之一:“public”、“private”、“protected”或“package-private”。最后一个不是关键字,只能指定为没有修饰符。哪种访问是默认的(当没有修饰符时)取决于事物是什么以及它在哪里;通常它是包私有的,但接口的成员默认是公共的,而枚举构造函数默认是私有的。

标签: java access-specifier


【解决方案1】:

可以通过省略任何访问修饰符来使用 Java 中的默认访问修饰符。 Java 8 引入了一个新的 default 关键字,用于为接口的方法提供默认实现,但尽管它在方法声明中的名称和位置令人困惑,但它与访问修饰符无关。

【讨论】:

    【解决方案2】:

    一个类可以用修饰符 public 和 'nomodifier' 来声明,但不是 nomodifier 的含义,而不是 'default' 关键字

    请通过此链接 https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

    【讨论】:

    • 但是Java提供了default作为关键字。除了在接口的默认方法中之外,它在哪里使用
    • @Manoj default 关键字的唯一其他用途是在 switch statement 中。
    猜你喜欢
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 2013-04-16
    • 2011-04-12
    • 2010-12-05
    • 2011-02-01
    相关资源
    最近更新 更多