龙空技术网

java封装详解

虚云幻仙 195

前言:

现在同学们对“java 封装方法”大约比较着重,我们都需要了解一些“java 封装方法”的相关文章。那么小编也在网摘上收集了一些对于“java 封装方法””的相关知识,希望兄弟们能喜欢,朋友们快快来了解一下吧!

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 封装方法