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
