2013-12-07 3 views
-5

내가 (정적되지 않음) 예 A 내부 클래스가있는 경우 : 내 말자바의 내부 클래스 - 외부 개체의 변수에 액세스 할 수

public class A { 
    int myNumber = 100; 

    class B { 
    } 

    public static void main(String[] args) { 
     A outerObj = new A(); 
     B innerObj = outerObj.new B(); 
     System.out.println("i want the access to the variable 
          myNumber by the innerObject"); 

    } 
} 

: 내가 outerObject에 도달하고를 볼 수 innerObject과 함께하고 싶습니다 변수 myNumber. 만약 내가 B 클래스의 메소드를 사용하고 있다면 할 수 있습니다 ...하지만 내부에서 outerObj의 변수를 볼 수있는 모든 곳을 원합니다 .... 가능합니까? 이유가 없다면 ?

class B 
{ 
    private int getNum() 
    { 
     return myNumber; 
    } 

    private void setNum(int x) 
    { 
     myNumber = x; 
    } 
} 

그러나 b.myNumber을 수행하여, B의 인스턴스 b에서 myNumber에 액세스 할 수 없습니다
감사

+0

'numb' 변수가 없습니다. 명확히하십시오. – MightyPork

+0

@MightyPork 그는 아마'myNumber'를 의미합니다 ... –

+0

예 myNumber를 유감스럽게 생각합니다 –

답변

1

난 당신이 뭔가를하려는 경우를 가정 해 보겠습니다. Here's 이유.

+0

예 thi 알고 있습니다.하지만 class B에 외부 obj 변수를 읽으 려하지 않습니다. 직접 읽어야합니다. 메인 메서드 또는 다른 메서드에서 있지만 클래스 b의 –

+0

@ GeiovanniFar 그런 다음 클래스 A에서 읽을 수 있습니다? 네가 말하는 말이 나에게 의미가 없다. A가없는 A의 멤버를 읽으려고하지만 A로만 초기화 할 수있는 중첩 클래스가 필요합니까? 하지만 방법을 사용하고 싶지 않으십니까? 왜? 그렇다면 A. –

+0

에서 액세스해야합니다. 아니요. 내 말은 : 내 innerObj가 바깥 쪽 Obj를 가리 킵니까? innerObj와 함께 innerObject의 클래스를 사용하지 않고 클래스 B를 사용하는 외부 객체의 variabiles를 볼 수있는 방법이 있습니까? innerobj 내가 outerobj의 변수를 어디서나 또는 클래스 B에 왜 볼 수 있는지 알고 싶습니다 –

관련 문제