2012-04-09 3 views
0

변수 이름에 대한 변수를 만들 수 있습니까? likejava - 변수 이름의 변수? 아니면 MACRO와 비슷한 것이 있습니까?

class example { 
    String VAR1 = "id"; 
    String VAR2 = "mark"; 

    public foo() 
    { 
    int VAR1; 
    int VAR2; 
    } 
} 

또는 중첩 된 클래스 Parent and Child가 있다고 가정 해 보겠습니다. 나는 모든 '부모를 변경하지 않도록 내가 this.So 같은 클래스의 많은 데

class Parent { 
    char a; 
    //some variables 

    class child { 
    //char b = Parent.a; 
    } 
} 

나는 매크로처럼 뭔가'Parent.a '에서'부모 '고 교체해야 '를 개별적으로 자식 클래스에서 사용합니다.

가능한 해결 방법이 있습니까?

+2

Java에는 없지만 대개는 필요하지 않습니다. 일반적으로 디자인을 재고하는 것이 더 좋습니다. 정확히 무엇을하려고합니까? – Mat

+0

자바 리플렉션 API가 귀하의 목적에 부합 할 수 있습니다. –

+0

문제가 명확하지 않습니다. 그러나 동일한 범위 또는 중복 범위에서 같은 이름의 변수를 선언 할 수는 없습니다. 따라서 첫 번째 부분은 작동하지 않습니다. –

답변

0

Java에서 첫 번째 예는 불가능합니다. 당신은 변수의 이름을 바꿀 수있는 편리한 방법을 원하는 경우 다음 IDE lets you do just that를 사용

class Parent { 
    char a; 

    class child { 
     char b = a; 
    } 
} 
+0

감사합니다. 나는 그것을 알고 있습니다. 나는 그런 것을 할 어떤 것이 있는지 묻습니다. – shiva

+0

변수 이름에 변수를 사용하여 해결하려는 문제를 설명 할 수 있습니까? 나에게 이것은 HashMap의 일처럼 들린다. – Sandro

0
class Parent { 

     // Main parent 
     char a; 
     //some other fields 

     // The child class 
     class Child { 

     // The main child 
      char a = Parent.a; 
     //some other fields 

     } 

     // this is what you need 
     public char getChild() { 
      Child child = new Child(); 
      return child.a; 
     } 
    } 
0

: 당신은 당신의 코드를 변경하면 두 번째 예는 유효합니다.

이런 종류의 것들은 프로그래밍 언어 디자인 영역에서 벗어나야합니다.