在Java中,方法有四个可用的访问修饰符:
public
-任何类都可以使用此方法。
protected
-同一包中的类和任何包中的子类都可以使用此方法。
private
-只有此类可以使用此方法。
no modifier
(“包私有”)-只有同一包中的类才能使用此方法。
经常发生的事情是,我想在超类中拥有所有子类都可以使用的有用方法。但是其他类访问此方法没有任何意义,从某种意义上说,它将破坏封装。
因此,我必须在超类public
or中声明这些有用的方法protected
,这至少在包中将它们公开给所有其他类。即使它们仅打算由子类使用。
有没有理由subclasses-only
在Java中没有访问修饰符?对我来说似乎很奇怪。我想念什么吗?
同样,subclasses-only
当您只想将变量公开给子类时,访问修饰符也很有用。在我身上发生的事情很多。