Java修饰符
修饰符用来定义类、方法或者变量,通常放在语句的最前端
public class className {
// ...
}
private boolean myFlag;
static final double weeks = 9.5;
protected static final int BOXWIDTH = 42;
public static void main(String[] arguments) {
}
访问控制修饰符
默认的,也称为 default,在同一包内可见,不使用任何修饰符。
私有的,以 private 修饰符指定,在同一类内可见。
共有的,以 public 修饰符指定,对所有类可见。
受保护的,以 protected 修饰符指定,对同一包内的类和所有子类可见。
私有访问修饰符-private
声明为私有访问类型的变量只能通过类中公共的 getter 方法被外部类访问。
public class Logger {
private String format;
public String getFormat() {
return this.format;
}
public void setFormat(String format) {
this.format = format;
}
}
访问控制和继承
请注意以下方法继承的规则:
-
父类中声明为 public 的方法在子类中也必须为 public。
-
父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
-
父类中声明为 private 的方法,不能够被继承。
public class A {
private static int numInstances = 0;
protected static int getCount(){
return numInstances;
}
private static void addInstances(){
numInstances++;
}
A(){
A.addInstances();
}
public static void mian(String []arguments){
System.out.println("Starting with "+ A.getCount()+"instances");
for (int i=0;i<500;i++){
new A();
}
System.out.println("Created"+A.getCount()+"instances");
}
}
Started with 0 instances Created 500 instances