package day_static_final;
import java.util.Random;
class A{
private static Random random = new Random();
/*
* static--只有一份,final--强调恒定不变
* static--强调在装载的时候已被初始化,而不是每次创建新对象的时候都初始化
*/
static final int I_5 = random.nextInt(20);
private final int i4 = random.nextInt(20);
@Override
public String toString() {
return "A [i4=" + i4 + ",I_5="+I_5+"]";
}
}
public class StudyFinal {
public static void main(String args[]){
A a1 = new A();
A a2 = new A();
System.out.println(a1==a2);
System.out.println(a1.equals(a2));
System.out.println(a1);
System.out.println(a2);
}
}
false
false
A [i4=17,I_5=18]
A [i4=1,I_5=18]
1.static,final同时修饰的变量全部大写表示,并用下划线分隔各单词
2.静态方法中不能调用非静态方法,也不能调用非静态变量,反之可以
3.static--强调在装载的时候已被初始化,而不是每次创建新对象的时候都初始化