面向对象的三大特性:封装、继承、多态
1.封装
封装简单理解就是屏蔽细节
1.1访问限定符
访问限定符可以决定被修饰的方法或者字段在哪里可以使用和在哪里不能使用
范围 | private | default | protected | public |
---|---|---|---|---|
同一个包的同一类 | 可以 | 可以 | 可以 | 可以 |
同一个包的不同类 | 可以 | 可以 | 可以 | |
不同包的子类 | 可以 | 可以 | ||
不同包的非子类 | 可以 |
-
前面没有修饰限定符时,默认的是default
例如:
这是在Parentclass包中:
public class Test1 { private int a=1; protected int b=2; int c=3; public int d=4; } //这是同一个包下的不同类 class Test2{ public static void main(String[] args) { Test1 test1=new Test1(); //private 在其他类不能使用 //default、protected 、public可以在同一个包其他类使用 //System.out.println(test1.a); System.out.println(test1.b); System.out.println(test1.c); System.out.println(test1.d); } //输出:2 3 4
这是在Subclasses包中创建的:
//这是不用