为了账号安全,请及时绑定邮箱和手机立即绑定

默认的访问修饰符是什么?

默认的访问修饰符是什么?

holdtom 2019-09-21 15:30:59
我刚开始读一本Java书籍,就纳闷了。如果未指定,哪个访问修饰符是默认的?
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

默认可见性称为“私有包”(尽管您不能显式使用它),这意味着可以从该类所属的同一包内部访问该字段。


正如mdma指出的那样,接口成员的情况并非如此,其默认值为“ public”。



查看完整回答
反对 回复 2019-09-21
?
慕沐林林

TA贡献2016条经验 获得超9个赞

默认说明符取决于上下文。


对于类和接口声明,默认值为包私有。这介于受保护和私有之间,仅允许同一包中的类访问。(受保护就是这样,但也允许访问包外部的子类。)


class MyClass   // package private

{

   int field;    // package private field


   void calc() {  // package private method


   }

}

对于接口成员(字段和方法),默认访问权限为public。但是请注意,接口声明本身默认为私有包。


interface MyInterface  // package private

{

   int field1;         // static final public


   void method1();     // public abstract

}

如果我们有声明


public interface MyInterface2 extends MyInterface

{


}

然后,使用MyInterface2的类可以从超级接口查看field1和method1,因为它们是公共的,即使它们看不到MyInterface本身的声明。


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 788 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信