반응형
코틀린의 정적 초기화 블록
Kotlin의 정적 초기화 블록과 동등한 것은 무엇입니까?
코틀린은 정전기 방지용으로 설계되어 있는 것은 알고 있습니다.동등한 의미론을 가진 것을 찾고 있습니다.클래스가 처음 로드되었을 때 코드가 한 번 실행됩니다.
저의 구체적인 사용 사례는 Android AppCompat 라이브러리에서 DayNight 기능을 활성화하고 싶은 경우입니다.또, 다음의 정적 초기화 블록에 코드를 넣도록 지시되어 있습니다.Application
학급.
어떤 관점에서는 Kotlin의 는 Java 클래스의 정적 부분과 동일합니다.특히, 그것들은 수업의 첫 사용 전에 초기화되어 있으며, 이를 통해 당신은 그들의init
Java 스태틱 이니셜라이저를 대체하는 블록:
class C {
companion object {
init {
//here goes static initializer code
}
}
}
@voddan은 오버킬이 아닙니다.실제로 이것은 Kotlin 사이트에서 제안되고 있습니다.「대응하는 클래스가 로드(해결)되었을 때, 컴패니언 오브젝트가 초기화됩니다.Java 스태틱 이니셜라이저의 의미와 일치합니다.」객체 표현과 선언의 의미 차이입니다.
companion object {
// Example for a static variable
internal var REQUEST_CODE: Int? = 500
// Example for a static method
fun callToCheck(value: String): String {
// your code
}
}
클래스 내의 객체 선언에는 companion 키워드를 사용하여 마킹할 수 있습니다.이 아래에서는 java static 메서드나 변수와 같은 것을 사용할 수 있습니다.LIke 클래스명methodname 또는 classname.variablename
언급URL : https://stackoverflow.com/questions/37262468/static-initialisation-block-in-kotlin
반응형
'programing' 카테고리의 다른 글
pandas.io.json.json_normalize with very nested json (0) | 2023.03.26 |
---|---|
Python 요청:JSON과 파일을 단일 요청으로 게시 (0) | 2023.03.26 |
사전에 키가 있는지 확인하려면 어떻게 해야 하나요? (0) | 2023.02.03 |
MySQL에서 정수 시퀀스 생성 (0) | 2023.02.03 |
제출 시 페이지 새로 고침 중지 (0) | 2023.02.03 |