public class Person {
static class Inner {
static int i = 0;//正确,Inner不依赖于Person对象,i既不依赖于Inner,也不依赖于Person对象
}
}
public class Person {
class Inner {
static int i = 0;//错误,Inner依赖于外部对象的创建,所以i也依赖于Person的创建,不符合静态变量必须不依赖于任何对象的定义
}
}
public class Person {
class Inner {
final static int i = 0;//正确,常量的调用不会导致Person类加载,也就是说不依赖于Person
}
}