在同一个包下 - 都可以访问
/**** 演示访问权限在包中的使用*/package Test14_Demo.Demo05;/*@create 2020--12--02--14:33*/public class AccessClass {//私有化的方法private void method1() {System.out.println("私有化方法");}//默认权限的方法void method2() {System.out.println("默认权限的方法");}//受保护的方法 - 对子类的保护 - 不在一个包下也可以使用protected void method3() {System.out.println("受保护的方法");}public void method4() {System.out.println("公共方法");}//测试访问权限的方法public void testAccess() {method1();method2();method3();method4();}public static void main(String[] args) {//实例化对象AccessClass ac = new AccessClass();ac.testAccess();//测试本类中的权限ac.method1();ac.method2();ac.method3();ac.method4();}}
在同一个包下但在不同的类中:
/**** 访问权限测试*/package Test14_Demo.Demo05;/*@create 2020--12--02--14:39*/public class AccessDemo {public static void main(String[] args) {//创建对象AccessClass ac = new AccessClass();//私有的 - 本类中访问//ac.method1();ac.method2();ac.method3();ac.method4();}}
在不同的包下 - 且继承之后:
/**** 访问权限测试*/package Test14_Demo.Demo06;/*@create 2020--12--02--14:39*/import Test14_Demo.Demo05.AccessClass;public class AccessDemo extends AccessClass {public static void main(String[] args) {//创建对象AccessClass ac = new AccessClass();//私有的 - 本类中访问//ac.method1();//ac.method2();//默认的权限符 - 只能在本包和本类中被访问//ac.method3();//保护的 - 同包和同类以及子类ac.method4();}public void method0() {//调用父类中的内容//super.method1();私有的不可以//super.method2();默认的权限方法不可调用super.method3();//可以访问,因为这里继承了父级,利用super可以访问super.method4();//可以访问,因为是公共的}}
