protected:对类用户来说,是private的,即无法访问;但对于任何继承于此类的导出类或其他任何位于同一包内的类来说,是可以访问的。
class Villain{private String name;protected void setName(String nm){name = nm;}Villain(String name){this.name = name;}@Overridepublic String toString() {return "I'm a Villian and my name is "+name;}}public class Orc extends Villain{private int orcNumber;public Orc(String name,int orcNumber) {super(name);this.orcNumber = orcNumber;}//Orc功能具备增加、修改的权限public void change(String name,int orcNumber){setName(name);this.orcNumber = orcNumber;}@Overridepublic String toString() {return "Orc{" +"orcNumber=" + orcNumber +'}' + super.toString();}public static void main(String[] args) {Orc orc = new Orc("Orc",12);System.out.println(orc);orc.change("change",11);System.out.println(orc);}}//=========其他包====================/*** 仅仅有一个查看的权限*/public class OrcOther {public static void main(String[] args) {final Orc orc = new Orc("orc",88);System.out.println(orc);}}
