protected什么意思
此刻我们已领略了担任的观念,protected这个要害字最后终于有了意义。在抱负环境下,private成员随时都是“私有”的,任何人不得会见。但在实际应用中,常常想把某些对象深深地藏起来,但同时答允会见衍生类的成员。protected要害字可辅佐我们做到这一点。它的意思是“它自己是私有的,但可由从这个类担任的任何对象可能同一个包内的其他任何对象会见”。也就是说,Java中的protected会成为进入“友好”状态。
我们采纳的最好的做法是保持成员的private状态——无论如何都应保存对基 础的实施细节举办修改的权利。在这一前提下,可通过protected要领答允类的担任者举办受到节制的会见:
//: Orc.java // The protected keyword import java.util.*; class Villain { private int i; protected int read() { return i; } protected void set(int ii) { i = ii; } public Villain(int ii) { i = ii; } public int value(int m) { return m*i; } } public class Orc extends Villain { private int j; public Orc(int jj) { super(jj); j = jj; } public void change(int x) { set(x); } } ///:~
可以看到,change()拥有对set()的会见权限,因为它的属性是protected(受到掩护的)。