전역 클래스를 만들거나 문자열을 "의미가있는"위치에 저장하십시오. 이 클래스의 신발이있는 경우 예를 들어 당신이 할 수 있습니다 :
public class Shoes {
public static class BRAND {
public static final String NIKE = "nike";
public static final String REBOK = "rebok";
public static final String ADDIDAS = "addidas";
}
private String brand;
public Shoes() {}
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand() {
return this.brand;
}
}
지금 당신은이 작업을 수행 할 수 있습니다
public static void main(String[] args) {
Shoes myShoes = new Shoes();
myShoes.setBrand(Shoes.BRAND.NIKE);
}
당신은 안드로이드에서이 같은 많은 것들가 있습니다. enum을 대신 사용하면 더 좋습니다. 희망이 도움이됩니다.
UPDATE
당신은 세터와 게터를 사용하고자하는 경우,이 개 솔루션이 있습니다 :
- 첫 번째는 객체의 인스턴스를 필요로 할 경우에만 단일 인스턴스를 원하기 때문에 싱글 톤 디자인 패턴이 필요할 것이다. 실제로 올바르게 동기화하면 설계가 매우 유용하고 유용 할 수 있습니다. 당신의 상황에서 나는 그 일이 가치가 있다고 생각하지 않습니다.
정적 초기화 프로그램과 정적 메서드를 이용할 수 있습니다. 당신은 최종 선언을 제거하고 문자열을 사용한 당신이 원하는 일을, 같은 수 :
public class Shoes {
public static class BRAND {
public static String NIKE;
public static String REBOK;
public static String ADDIDAS;
static {
NIKE = "nike";
REBOK = "rebok";
ADDIDAS = "addidas";
}
}
private String brand;
public Shoes() {}
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand() {
return this.brand;
}
}
또는 좋은 캡슐화 방법을 사용하여이 수행
이
public class Shoes {
public static class BRAND {
private static String NIKE;
private static String REBOK;
private static String ADDIDAS;
static {
NIKE = "nike";
REBOK = "rebok";
ADDIDAS = "addidas";
}
public static String getNIKE() {
return NIKE;
}
public static void setNIKE(String name) {
NIKE = name;
}
public static String getREBOK() {
return REBOK;
}
public static void setREBOK(String name) {
REBOK = name;
}
public static String getADDIDAS() {
return ADDIDAS;
}
public static void setADDIDAS(String name) {
ADDIDAS = name;
}
}
private String brand;
public Shoes() {}
public void setBrand(String brand) {
this.brand = brand;
}
public String getBrand() {
return this.brand;
}
}
그러나 나는주의해야합니다 : 컨텍스트를 얻을 수 없기 때문에이 작업을 수행하면 무언가가 누락됩니다. 컨텍스트는 어디서나 얻을 수 있습니다 - 시스템에 의해 인스턴스화 된 객체에는 매개 변수로 컨텍스트가 부여됩니다. 자신 만의 커스텀 객체를 가지고 있다면 ApplicationContext를 매개 변수 나 객체 자체 (this)를 사용하는 클래스로 전달할 수 있습니다.
NIKE, REBOK 및 ADDIDAS는 예제의 상수입니다. 하지만 저는 변수에 대해 이야기하고 있습니다 ... 나는 가치를 얻거나 설정할 기회가 있어야합니다. – Sviatoslav
내 솔루션을 업데이트 해 드리겠습니다. – jjNford