争论最多就是 protected 了
Topic source总结一句就是
要分清楚class 、method 、field
要先获取class,才能获取method、和field
老师,这里 只有 public 讲了 class ,自己代入理解一下就可以了
//public 同包
System.out.println(son.s1);
//public 不同包
System.out.println(son1.f1);
//private 同包 (无法访问)
//System.out.println(son.f2);
//private 不同包 (无法访问)
//System.out.println(son1.f2);
//protected 同包
System.out.println(son.f3);
//protected 不同包 (无法访问)
//System.out.println(son1.f3);
//protected 同包子类
son1.s3();
//protected 不同包子类
son.s3();
//protected 不同包父类 (无法访问)
//某类的protected 方法和属性在 包外 是不能通过该类对象进行访问的(该对象,并非子类)
//System.out.println(father.f3);
//package 同包
System.out.println(son.f4);
//package 不同包 (无法访问)
//System.out.println(son1.f4);
//package 同包子类
son1.s4();
//package 不同包子类 (无法访问)
//son.s4();
- 1
🌙
搞明白了