awt 패키지로 작업하고 있는데, 그것이 내가 필요한 것 같아서, 프레임을 만들고, 그 프레임 안에 들어가는 컴포넌트와 컨테이너를 만들고 있습니다. 그렇게하기 위해서 Component 나 (아직은 아니지만) Container 나 내가 필요로하는 다른 것을 확장하는 클래스를 만들고 있습니다. 내 문제는 MouseListeners 및 ComponentListeners를 사용해야하지만 "둘러싸는 범위 내에서 최종 변수가 아닌 변수에 액세스 할 수 없습니다." 자, A : 최종적이 아닌 고정적 일 필요가있는 것처럼 보입니다. 그러나 나는 그것을 믿을 것입니다. B : 어떻게하면 돼? 기본적으로 "this"에 액세스 할 수 있어야하지만 "this"는 클래스가 아닌 새로운 Listener입니다. 아무도 이것을 고치는 법 및/또는 일을하는 다른 방법을 알고 있습니까? 감사!enclosing scope 내의 변수들, 특히 BlahListeners
답변
어쩌면 이렇게 할 수 있을까요? 내가 제대로 이해 않은 경우 당신은 리스너의 범위에서 얻을 필요)
ContainingClass.this.someMethod(); // Inside your Listener for example
ContainingClass 및 것으로 someMethod는 가짜 값입니다.
이 구문을 사용하여 메서드를 호출하거나 멤버 변수에 액세스 할 필요가 없습니다 - 직접 할 수 있습니다. (someMethod()를 호출하십시오.) – Arkadiy
편집 : 질문을 오해 한 것이므로 이전 대답은 부적절합니다.
익명의 내부 클론에서 비 최종 로컬 변수에 액세스하는 방법에 대해 질문합니다. 자바가 허용하는 것이 아닙니다. 사실, 그것을 구현하는 것은 다소 어려울 것입니다.
변수가 final 인 경우 그 값을 취할 수 있습니다. 그러나 최종적이지 않은 경우 여러 개의 무언가 인스턴스가 공유 할 수있는 메모리를 제공해야합니다. 모든 인스턴스는 수정할 수 있습니다. 이것은 상당히 문제입니다 : 그 기억은 어디에 할당 될까요? 멀티 쓰레딩 환경에서 어떻게 보호 하시겠습니까?
일반적으로 익명 내부 클래스 (정적 멤버 일 필요는 없음)간에 쓰기 가능한 정보를 공유하기 위해 멤버 변수를 사용하는 것이 일반적입니다.
gwt/gxt 나 다른 프레임 워크를 사용할 때 그리 드문 일이 아닙니다. – cgew85
예.하지만 Healthbar.this.blah()와 함께 작동했습니다. 절대적으로 괜찮 았어. –
- 1. Frac (expression) 내의 변수들 R
- 2. 함수 내 변수들 혼란
- 3. ng-repeat에서 Angular Scope 내의 객체 수정
- 4. 파이썬과 아파치의 전역 변수들
- 5. 다른 클래스에 익숙해지기 변수들
- 6. 하스켈의 'let'과 변수들
- 7. $ scope
- 8. $ scope
- 9. 자바 쓰레드 - 쓰레드의 로컬 변수들
- 10. 디렉토리에 따라 타겟을 변경하는 변수들
- 11. primefaces에서 p : wizard가 지우는 변수들
- 12. Windows 배치 변수들 Cramming Together
- 13. 환경 변수를 통해 소스 파일에 반짝이는 변수들
- 14. C++ inherting enclosing class -이 좋은 연습입니까?
- 15. AngularJS의 함수 ($ scope)와 [ '$ scope', function ($ scope)]의 차이
- 16. $ scope. $ digest는 $ scope. $ 내에서 근본적으로 올바르지 않습니까?
- 17. AngularJS - $ scope 작성 전 목적 $ (scope)
- 18. %% GLOBAL_CustomerGroupId %% - Scope
- 19. $ scope. $ on
- 20. @Scope 제대로
- 21. Autorelease scope
- 22. PHP bindParam 여러 매개 변수들 무슨 일이야
- 23. 많은 변수들 사이의 관계를 찾는 것
- 24. mysql 튜닝 변수들 - 현재 값과 기본값들
- 25. Ninject Transient Scope + Scope Disposal + Garbage Collection + Memory Leak
- 26. 변수를 $ scope 값으로 설정하십시오.
- 27. 전재 : Element & Scope
- 28. Pundit에서`scope` 지향 동작 (특히`index` 동작)이 다르게 취급되는 이유는 무엇입니까?
- 29. .getJSON()을 사용하여 $ scope 채우기
- 30. 특히 루프
문제를 보여주는 최소한의 (그러나 완전한) 코드를 표시하면 도움이 될 것입니다. –