四种权限修饰符
-
MyClass
package cn.xiaoge.day11.demo02; public class MyClass { protected int num = 10; public void method() { System.out.println(num); // public(YES) > protected(YES) > (default)(YES) > private(YES) } }
-
MyAnother类
package cn.xiaoge.day11.demo02; public class MyAnother { public void anotherMethod() { // System.out.println(new MyClass().num); public(YES) > protected(YES) > (default)(YES) > private(NO) } }
-
MySon类
package cn.xiaoge.day11.demo02.sub; import cn.xiaoge.day11.demo02.MyClass; public class MySon extends MyClass { public void method() { // System.out.println(super.num); public(YES) > protected(YES) > (default)(NO) > private(NO) } }
-
Stranger类
package cn.xiaoge.day11.demo02.sub; import cn.xiaoge.day11.demo02.MyClass; public class Stranger { public void method() { // System.out.println(new MyClass().num);public(YES) > protected(NO) > (default)(NO) > private(NO) } }
-
执行路口
package cn.xiaoge.day11.demo02; /* Java中有四种权限修饰符: public > protected > (default) > private 同一个类(我自己) YES YES YES YES 同一个包(我邻居) YES YES YES NO 不同包子类(我儿子) YES YES NO NO 不同包非子类(陌生人) YES NO NO NO 注意事项: (default) 并不是关键字"default", 而是根本不写. */ public class Demo01Main { }