概述
java - 是不是“包私有”成员访问默认(无修饰符)访问的同义词?
我对“私人包装”一词感到有些困惑。 一些文档使用的,以及"默认访问的使用。" Aren包私有和默认访问都是protected的同义词吗?
7个解决方案
131 votes
是的,它几乎一样。 protected修饰符指定只能在其自己的包中访问该成员(与package-private一样),此外,还可以在另一个包中通过其类的子类访问该成员。
Luciano Fiandesio answered 2019-08-14T06:14:36Z
32 votes
"默认" 访问修饰符(没有明确给出它们的那个)是" package-private",这意味着只有同一个包中的东西才能访问它们。 但是,在同一个包中并不意味着类之间的继承关系 - 它纯粹是一个命名约定。
"受保护的" 意味着不仅同一个包中的类,而且子类(无论这些子类在哪个包中)都能够访问它。
Adrian Petrescu answered 2019-08-14T06:15:08Z
14 votes
类的默认访问权限是package-private,但接口成员的默认访问权限是public。
例如
public interface I {
int A = 1;
// same as
public static final int A = 1;
void method();
// same as
public abstract void method();
class C { }
// same as
public static class C { }
}
接口的默认访问规则与类不同。
Peter Lawrey answered 2019-08-14T06:15:42Z
3 votes
包私有和默认访问是同义词。 对象还可以访问其类在同一包中的对象的受保护成员。 对象还可以访问其超类的受保护成员,而无需关于其包的条件。 作为一个具体的例子:
package ab;
class A {
protected void foo() {}
void dd(){}
}
class C {
void aa(){
A a = new A();
a.foo(); //legal
a.dd(); //legal
}
}
package sub;
class D extends A{
void ac(){
foo(); //legal ..
dd(); //illegal.. because dd has default access..
}
class E {
void ee(){
A a = new A();
a.foo(); //illegal
a.dd(); //illegal
}
Gursel Koca answered 2019-08-14T06:16:07Z
1 votes
'打包私密' 和默认访问是相同的。 在早期版本的编译器中,围绕1.1.2 / 3,' package' 是一个允许的修饰符,但被忽略,意思与没有修饰符相同,即'包私有'。 不久之后,在这种情况下放置/*package*/(作为评论)的短暂时尚。 同样,那时你可以声明像synchronized类这样的东西,尽管再没有实际的语义效果。
它们都不是' protected',它扩展到其他包中的派生类。
user207421 answered 2019-08-14T06:16:40Z
0 votes
来自Java语言规范
6.6.5示例:默认访问字段,方法和构造函数If 没有任何访问修饰符公开, 指定了protected或private,a 类成员或构造函数是 整个包装都可以访问 包含类的声明 在其中声明类成员, 但是类成员或构造函数是 在任何其他包装中都无法访问。
如果公共类有方法或 那么具有默认访问权限的构造函数 这个方法或构造函数不是 可以访问或继承的 在此包外声明的子类
Dead Programmer answered 2019-08-14T06:17:20Z
-1 votes
default和package-private都是相同的,这意味着任何类都可以使用它们,直到它们在同一个包中。
实际上,包私有术语被私有修饰符的含义称为私有,意味着它只在同一个类中可用,并且没有其他类或子类可以在同一个包中访问它或没有。
因此,package-private意味着与默认相同。
aayush shah answered 2019-08-14T06:17:59Z
最后
以上就是称心大叔为你收集整理的Java类成员的缺省访问修饰符,java - 是不是“包私有”成员访问默认(无修饰符)访问的同义词?...的全部内容,希望文章能够帮你解决Java类成员的缺省访问修饰符,java - 是不是“包私有”成员访问默认(无修饰符)访问的同义词?...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复