java的访问控制符分为两类:类的访问控制符,属性和方法的访问控制符。
  1. 类的访问控制符有两种:public, default(默认的,什么都不用写)
  default是包内访问控制符。
  当然对于内部类还可以有static修饰,而用static修饰的内部类叫作嵌套类。
  2. 属性和方法的访问控制符有四种:private, default, protected, public
  可以用如下的表描述:(Yes表示可访问,空表示不可访问)

  作用:变量, 方法上的修饰
1 package com.gxa.day8.am;
2
3 import com.gxa.day8.DefaultSample;
4 import com.gxa.day8.PrivateSample;
5 import com.gxa.day8.ProtectedSample;
6 import com.gxa.day8.PublicSample;
7
8 /**
9  * AccessSample来完成对访问修饰符的测试
10  * 1. private 只有在本类可以访问
11  * 2. 默认 可以在本类和同一包下访问
12  * 3. protected 可以在本类,同一个包, 不同包的子类访问
13  * 4. public 可以在本类,同一个包,不同的子类,没有任何继承关系下都可以访问
14  * @author caleb
15  *
16  */
17 public class AccessSample extends ProtectedSample {
18
19     public void m01() {
20         this.name = ""; //访问的ProtectedSample下的name(有继承关系不同包name属性)
21     }
22
23     public static void main(String[] args) {
24         PrivateSample privateSample = new PrivateSample();
25         privateSample.name = ""; //不能访问private修饰的name
26
27         DefaultSample defaultSample = new DefaultSample();
28         defaultSample.name = ""; //不能访问不同一个包下的name
29
30         ProtectedSample protectedSample = new ProtectedSample();
31         protectedSample.name = ""; //不能访问, 因为只能通过继承关系直接访问, 不能创建来访问
32
33         PublicSample publicSample = new PublicSample();
34         publicSample.name = ""; //访问的PublicSample的下的name
35     }
36 }
  注意事项
  java面向对象的封装性对以后做程序很有帮助,可以在实际操作项目中锻炼学习。
  好不要图方便一直用public而失去了封装的意义。