- Bạn có thể sử dụng một loại
enum
trong Java 5 trở đi cho mục đích này bạn đã mô tả. Nó là loại an toàn.
- A là một biến mẫu. (Nếu nó có công cụ sửa đổi tĩnh, thì nó sẽ trở thành biến tĩnh.) Hằng số chỉ có nghĩa là giá trị không thay đổi.
- Biến thể hiện là thành viên dữ liệu thuộc đối tượng chứ không phải lớp. Biến thể hiện = Trường thể hiện.
Nếu bạn đang nói về sự khác biệt giữa biến mẫu và biến lớp, biến mẫu tồn tại trên mỗi đối tượng được tạo. Trong khi biến lớp chỉ có một bản sao cho mỗi trình nạp lớp bất kể số lượng đối tượng được tạo ra.
Java 5 và lên enum
loại
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;
}
}
Nếu bạn muốn thay đổi giá trị của enum bạn đã tạo, cung cấp một phương pháp mutator.
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;
}
}
Ví dụ về truy cập:
public static void main(String args[]){
System.out.println(Color.RED.getColor());
// or
System.out.println(Color.GREEN);
}
Nguồn
2012-10-09 03:05:43
Bản sao có thể có của [Cách tốt nhất để triển khai các hằng số trong Java là gì?] (Https://stackoverflow.com/questions/66066/what-is-the-best-way-to-implement-constants-in- java) –