当修饰符修饰成员变量和方法时:
private(当前类访问权限):自身的private只能在当前类的内部被访问。
例子说明:
class Circle{
private static double pi = 3.14;
private double radius;
public Circle(double r){
radius = r;
}
//获得圆数组中半径最大值
public static double compare(Circle[] cirs){
double max = cirs[0].radius;
for(int i=0 ; i<cirs.length ; i++){
if(max < cirs[i].radius){
max = cirs[i].radius;
}
}
return max;
}
}
class Test{
public static void main(String args[]){
Circle[] cirs = new Circle[3];
Circle c1 = new Circle(1.2);
Circle c2 = new Circle(1.3);
Circle c3 = new Circle(1.4);
cirs[0] = c1;
cirs[1] = c2;
cirs[2] = c3;
System.out.println(Circle.compare(cirs));
}
}
default(包访问权限):成员变量和方法可以被 同一包下的子类继承,在 同一包下的其他类中 创建该类的对象,可以访问该类的default修饰的变量和方法。
protected(子类访问权限):在其他类中被创建对象实例后,若不在同一包中不能访问该对象中的protected方法和成员变量。成员变量和方法可以被不同包中的子类继承和使用。
public:无特别的约束。