Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- R
- SSL
- IntelliJ
- tomcat
- mybatis
- MSSQL
- NPM
- 공정능력
- Android
- plugin
- Spring
- es6
- Python
- mapreduce
- SQL
- Kotlin
- window
- GIT
- Java
- xPlatform
- Eclipse
- hadoop
- Express
- table
- vaadin
- 보조정렬
- Sqoop
- react
- SPC
- JavaScript
Archives
- Today
- Total
DBILITY
android java interface lambda vs anonymous reference 'this' meaning 본문
android/java
android java interface lambda vs anonymous reference 'this' meaning
DBILITY 2024. 11. 14. 11:34반응형
여러 언어를 사용하다 보면 기본을 잊어 버리고(손가락만 기억하는) 코딩이 자주 있다.
거기다 안드로이드 같은 경우라면 eventHandler구현 시 그러한 경우들이 잦다.
람다 표현식 내에서 this는 람다 표현식이 정의된 외부 클래스의 인스턴스를 참조하며, 익명 클래스와의 주요 차이다.
익명 클래스에서는 this가 해당 클래스의 인스턴스를 참조하지만, 람다 표현식에서는 외부 클래스의 인스턴스를 참조합니다.
class Outer {
private String name = "Outer";
void lambdaClass() {
// 람다 표현식 생성
Runnable r = () -> {
System.out.println(this.name); // Outer 클래스의 name을 참조
};
r.run();
}
}
class Outer {
private String name = "Outer";
void anonymousClass() {
// 익명 클래스 생성
Runnable r = new Runnable() {
private String name = "Anonymous";
@Override
public void run() {
System.out.println(this.name); // 익명 클래스의 name을 참조
System.out.println(Outer.this.name); // Outer 클래스의 name을 참조
}
};
r.run();
}
}
반응형
'android > java' 카테고리의 다른 글
java @SuppressWarnings (0) | 2024.05.23 |
---|---|
android ANR, Thread, Handler, runOnUiThread, View Handler, AsyncTask, RxJava, Callback Interface (0) | 2024.05.23 |
android downloded apk file version check and install (0) | 2024.05.09 |
android progress bar color change programmatic (0) | 2024.05.08 |
WindowMetrics 화면 크기 등 (0) | 2024.05.04 |
Comments