Java的访问指示符有public(公共的,全局的)、private(私有的,局部的)、和protected (受保护的)。Java也定义了一个默认访问级别。
指示符protected仅用于继承情况中。下面 我们描述其他两个访问指示符。
当一个类成员被public指示符修饰时,该成员可以 被你的程序中的任何其他代码访问。
当一个类成员被指定为private时,该成员只能被它的 类中的其他成员访问。现在你能理解为什么main( )总是被public指示符修饰。
它被在程序外 面的代码调用,也就是由Java运行系统调用。如果不使用访问指示符,该类成员的默认访 问设置为在它自己的包内为public,但是在它的包以外不能被存取。
示例:
class Test { int a; // default access public int b; // public access private int c; // private access // methods to access c void setc(int i) { // set c‘s value c = i; } int getc() { // get c‘s value return c; } } class AccessTest { public static void main(String args[]) { Test ob = new Test(); // These are OK,a and b may be accessed directly ob.a = 10; ob.b = 20; // This is not OK and will cause an error // ob.c = 100; // Error! // You must access c through its methods ob.setc(100); // OK System.out.println("a,b,and c: " + ob.a + " " + ob.b + " " + ob.getc()); } }
总结:成员c被指定为private,因此它不能被它的类之外的代码访问,访问它只能通过它的public方法。
原文:https://www.cnblogs.com/lbeaner/p/15126273.html