Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。
默认的,也称为default,在同一包内可见,不使用任何修饰符。
私有的,以private修饰符指定,在同一类内可见。
共有的,以public修饰符指定,对所有类可见。
受保护的,以protected修饰符指定,对同一包内的类和所有子类可见。
//在com.oracle.test包中的dome05类里定义四个成员变量
package com.oracle.test; public class dome05 { int p; //默认修饰符为default private int q; protected int r; public int s; } //在另一个包com.oracle.test1的dome06类值实例化dome05对象,并测试访问上面代码中的成员变量 package com.oracle.test1; import com.oracle.test.dome05; public class dome06 { public static void main(String[] args) { dome05 dom01 = new dome05(); dom01.q; dom01.p; dom01.r; dom01.s; } }
结果是(只有s可以被访问):
不能访问原因:p是定义为int p;修饰符默认为default,即为不使用任何修饰符,他只能在同一个包下面才能被访问到代码如下:
int q的修饰符是 private 他只能在同一类下被访问:
int r的修饰符是 protected 受保护的对同一包内的类和所有子类可见。
这些限制对不止于成员变量,对于类,方法,构造方法同样适用。
个人学习,内容粗略。