1、访问控制权限
package org.lxh.demo08.g ; public class HelloDemo{ protected String name = "LXH" ; // 只能在本包及不同包的子类中访问 };在其他包的子类访问此类中的属性。
package org.lxh.demo08.h ; import org.lxh.demo08.g.HelloDemo ; class SubHelloDemo extends HelloDemo{ public void print(){ System.out.println("访问受保护属性:" + super.name) ; } }; public class ProtectedDemo01{ public static void main(String args[]){ SubHelloDemo sub = new SubHelloDemo() ; sub.print() ; } };编译程序: javac -d . *.java 这样就不必先javac -d . HelloDemo.java 再javac -d . ProtectedDemo01.java会自动地进行先后编译
执行: java org.lxh.demo08.h.ProtectedDemo01
______________________________________________________________________________________________________________________________
如果现在没有使用子类,而是直接在不同类中访问,则会出现无法访问的错误。
package org.lxh.demo08.h ; import org.lxh.demo08.g.HelloDemo ; public class ProtectedDemo02{ public static void main(String args[]){ HelloDemo sub = new HelloDemo() ; System.out.println(sub.name) ; // 错误的,不同包的类无法访问 } };