第三个是正常用法,
第一个是应为类没有实例化前,类的属性是没有的,加上static转化成类的属性才能用。这也是static正常用法。类名.静态属性(静态方法)
不加static时应该先实例化:
class test1{
private int i = 9;
// public test1(){
// this.i = 5;
// }
class test2{
private static final int i=20;
public void ch(){
System.out.println(new test1().i);
System.out.println(i);
}
class test3{
private int i=30;
public void sets(){
System.out.println(new test1().i);
System.out.println(test1.test2.i);
System.out.println(i);
}
}
}
这样是没有错的
第二个
我不能在非静态内部类声明静态的属性方法,除非他是常量 |