
package a.a1;
/**
* 测试封装 四个访问控制符 private default protected public
*/
public class B1 {
//B1在a1包中
private int pri;
//private 私有 只能在同一类内使用
int def;
//不标注修饰默认default 默认 同一个包内都可调用
protected int pro;
//受保护的 包内可用&子类可用 *子类对象不可用
public int pub;
//公共 完全可用
//方法的封装效果同属性
package a.a1;
public class B2 {
//B2和B1在同一个包a1内
{
B1 b1 = new B1();
//b1.pri报错 private不能在类外使用
b1.def =0;
b1.pro = 1;
b1.pub =2;
package a.a2;
public class C1 {
//C1在a2包 与a1.B1 不在一个包内
{
a.a1.B1 b1 = new a.a1.B1();
//不在一个包内需要import导入或者写完整路径
//b1.pri报错 不在同一类内
//b1.def报错 不在同一包内
//b1.pro报错 不在同一包内且不是子类
b1.pub = 1;
//public完全开放使用
class C2 extends a.a1.B1 {
{
super.pro =1;
//不在同一包内的父类的protected属性可以调用
pub =2;
//默认super.pub
//super.pri super.def 报错 不在同一包内无法使用
a.a1.B1 b1 = new a.a1.B1();
//b1.pro报错 子类中生成的父类B1的对象b1不能使用 不在同一包内的 父类的protected内容
b1.pub =2;
C2 c2 = new C2();
c2.pro =1;
//子类C2生成的对象c2可以用子类继承来的c2.protected内容
c2.pub =2;
【上海市|java封装详解】
- 程序员|程序员的口味变了!C++首次逆袭JAVA:跻身最受欢迎编程语言TOP3
- Java|华为笔记本双12大促开启 智慧体验让办公学习更高效
- Java|京东第一刀落下:多个副总裁卸任 刘强东嫡系人手接管
- Java|荣耀Magic5Pro很大胆,16GB+5000mAh+100W,香喷喷
- Java|MIUI14把精简当作核心卖点,国产系统急需做减法
- Java|“高薪专业户”的IT互联网行业是否已达到天花板?Java行业薪酬
- javascript|全民淘宝节|千万个淘宝卖家,有千万种答案
- 【微服务】146:商品品牌业务后台Java代码编写
- 【微服务】162:利用Java实现索引库相关的分页、排序和聚合
- Java|闹剧结束了?台积电正式宣布,美媒:张忠谋把关键技术留在了本土
