8.3.2 如何使用访问控制符及其重要性
本节继续讲述访问控制符,学习应该如何在程序中灵活运用这些访问控制符。访问控制符对于整个程序段是非常关键的,当需要让自己编写的这个类被所有的其他类所公共拥有时,可以将类的访问控制符写为“public”。当需要让自己的类只能被自己的包中的类所共同拥有时,就将类的访问控制符改为“default”。
另外,当需要访问一个类中的成员数据时,可以将这个类中的成员数据访问控制符设置为“public”、“default”和“protected”。至于使用哪一个,就要看哪些类需要访问这个类中的成员数据。
【实例8.12】下面看一个有关访问控制符的实例。
01 public class object12
02 {
03 public static void main(String[]args)
04 {
05 pro pro=new pro();
06 pro.print();
07 }
08 }
09 class pro
10 {
11 public void print()
12 {
13 for(int i=1;i<100;i++)
14 {
15 if((i%3)==0&&(i%5)!=0&&(i%9)!=0)
16 System.out.print(i+"");
17 }
18 }
19 }
【代码说明】第9~19行定义一个类pro,然后第6行调用类的print()方法,从第11行可以知道,此方法被定义为“public”,所以其他类可以访问。
【运行效果】
3 6 12 21 24 33 39 42 48 51 57 66 69 78 84 87 93 96
从上面的程序段可以看出,当一个方法的访问控制符设置成“public”时,其他的类都可以访问它。
【实例8.13】下面将这个程序段修改一下,看看有什么结果。
01 public class object13
02 {
03 public static void main(String[]args)
04 {
05 pro pro=new pro();
06 pro.print();
07 }
08 }
09 class pro
10 {
11 private void print()
12 {
13 for(int i=1;i<100;i++)
14 {
15 if((i%3)==0&&(i%5)!=0&&(i%9)!=0)
16 System.out.print(i+"");
17 }
18 }
19 }
【代码说明】上面这个程序段在编译的时候,就会报错,错误就是“print()”方法是类“pro”中私有的方法,是不能被其他类所访问的。
【运行效果】编译错误,没有结果。
从这两个程序中,读者应该能充分体会到“public”和“private”这两个访问控制符的使用环境。