2012-04-03 4 views
0

나는이 유사한 구조를 가지고 :Java에서 내부 클래스의 메서드에 연결할 수없는 이유는 무엇입니까?

class OuterClass{ 
     AnimatorListener sth; 
     public OuterClass(){ 
      sth = new InnerClass(); 
     } 
     public class InnerClass implements AnimatorListener{ 
      public InnerClass(){} 
      public void doSomething(){} 
      //assuming animator listener methods implemented 
     } 
     public void tryingToDoSomething(){ 
      sth.doSomething(); //I cannot use this, simply it is not seen by eclipse. 
     } 
    } 

왜 캔트 나는 tryingToDoSomething() 오전 동안 내가 doSomething() 방법 객체 sth의 전화?

+0

OuterClass 생성자에서 괄호'()'에주의하십시오 – waqaslam

+0

이 수정을 구현할 때 표시되는 오류 메시지는 무엇입니까? – dbrank0

답변

1

개체에 잘못된

public OuterClass{ 
     sth = new InnerClass(); 
    } 

변경이이지만 InnerClass에 속해야합니다. 희망, 행복 코딩, 도움이됩니다.

1

생성자 구문을 변경하십시오. 그것은 sth 클래스 AnimatorListener에 속하는

public OuterClass(){ 
     sth = new InnerClass(); 
    } 
+0

네가 옳다. 나의 실수는 마치 네가 내 코드에서 말한 것과 같다. – guness

+0

귀하의 답변은 "편집"버튼을 사용하여 수행해야하는 교정 일뿐입니다. 그것은 여전히 ​​내 문제에 대한 해결책이 아닙니다. – guness

+0

편집 권한이 없습니다. –

관련 문제