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”这两个访问控制符的使用环境。