我有
class User
包含受保护的构造函数和
class Account
可以访问此构造函数,但Account不会扩展User。
怎么可能?
答案 0 :(得分:6)
我认为,用户和帐户属于同一个包。受保护的访问也是包访问
答案 1 :(得分:1)
如果您的类在同一个包中,这是预期的行为:
protected修饰符指定只能访问该成员 在它自己的包中(与package-private一样),另外,通过 另一个包中其类的子类。
答案 2 :(得分:0)
protected
访问权限比包访问权限更宽松。基本上,同一个包中的任何类都可以使用protected
范围构造。
具体来说,请参阅JLS 6.6.2.2 Qualified Access to a protected Constructor
...只有在定义它的包中,类实例创建表达式(不能声明匿名类)才能访问受保护的构造函数。