封装
类一旦定义完成,达成了最初的封装,就好像建了一幢房子,访问修饰符的作用就是在初步封装的基础之上,进一步控制类内元素的可见性,就好像在房子上开门,开窗。
外部类(接口)的访问修饰符,只有2个:public和default
default修饰的类表示这个类只能在同一个包里才能被访问。
测试代码: 测试代码以属性为例,方法的可见性和属性相同
包结构:
package com.njlife123.qzmall.fz;
public class Test1 {
private int a;
int b; //缺省
protected int c;
public int d;
public void f() {
System.out.println(this.a);
System.out.println(this.b);
System.out.println(this.c);
System.out.println(this.d);
}
}
test2和test1在一个包里
package com.njlife123.qzmall.fz;
public class Test2 {
public void f(){
Test1 test1 = new Test1();
System.out.println(test1.a);// private int a;所以其他包不可见
System.out.println(test1.b);
System.out.println(test1.c);
System.out.println(test1.d);
}
}
test3和test1在两个不同包里。
package com.njlife123.qzmall.fz1;
import com.njlife123.qzmall.fz.Test1;
public class Test3 {
public void f(){
Test1 test1 = new Test1();
System.out.println(test1.a);//private自己类可见
System.out.println(test1.b);//缺省在一个包里可见
System.out.println(test1.c);//在一个包可见,继承除外
System.out.println(test1.d);
}
}
作者简介:一个有故事的程序员,我的微信号qiushuzhao222,欢迎大家找我聊天,记录你我的故事。