Java中Protected与无线定词有区别吗

来源:百度知道 编辑:UC知道 时间:2024/06/19 23:09:17
在Java中Protected与无线定词时,类的使用限制区别在哪里?

java中访问限定词有4种,分别是private,无限定词,protected,public
protected可在子类中使用父类的protected成员
private 只能在同一个类中调用
无限定词 行为类似private,区别是在同一个包下都能调用,作用范围比private大

区别在子类继承父类时。
无限定词也就是默认访问。
由于类只能被public和默认修饰,不能被protected和private修饰,所以假定你的类已经被修饰为public,你的问题就变成了默认和protected修饰实例变量和方法时的区别了。
当在同一个包时,默认和protected完全一样。
但是在不同包时,默认修饰的变量和方法不可以被子类继承,而protected修饰的变量和方法则可以被包外子类继承。
简单的说就是上面的说明。protected在java中是最难理解的访问修饰符,比如:子类在包外继承时,被protected修饰的变量只能通过子类继承的方式访问,不可以通过实例化父类对象的方式去访问,等等。

简单的说 默认的缺省是限定在同一个包中可以访问
而protected 则可以在不同包的子类中被访问