如何在Java中声明常量?
我们总是这样写:
public static final int A = 0;
问题:
- 在类中声明常量的唯一方法是什么?
static final
- 如果我改为写入,仍然是一个常量还是只是一个实例字段?
public final int A = 0;
A
- 什么是实例变量?实例变量和实例字段之间有什么区别?
我们总是这样写:
public static final int A = 0;
问题:
static final
public final int A = 0;
A
final
意味着初始化后无法更改该值,这就是使其成为常量的原因。 意味着不是为每个对象中的字段分配空间,而是只为类创建一个实例。static
因此,意味着无论创建多少个对象,都只有变量的一个实例,并且该变量的值永远不会更改。static final
enum
如果您正在谈论实例变量和类变量之间的区别,则每个创建的对象都存在实例变量。而类变量每个类装入器只有一个副本,而不管创建的对象数量如何。
Java 5 及更高版本的枚举
类型
public enum Color{
RED("Red"), GREEN("Green");
private Color(String color){
this.color = color;
}
private String color;
public String getColor(){
return this.color;
}
public String toString(){
return this.color;
}
}
如果要更改已创建的枚举的值,请提供赋值函数方法。
public enum Color{
RED("Red"), GREEN("Green");
private Color(String color){
this.color = color;
}
private String color;
public String getColor(){
return this.color;
}
public void setColor(String color){
this.color = color;
}
public String toString(){
return this.color;
}
}
访问示例:
public static void main(String args[]){
System.out.println(Color.RED.getColor());
// or
System.out.println(Color.GREEN);
}