반응형
Kotlin의 정적 초기화 블록
Kotlin 의 정적 초기화 블록 에 해당하는 것은 무엇입니까 ?
Kotlin이 정적 인 요소를 갖지 않도록 설계되었음을 이해합니다. 동일한 의미를 가진 무언가를 찾고 있습니다. 클래스가 처음로드 될 때 코드가 한 번 실행됩니다.
내 특정 사용 사례는 Android AppCompat 라이브러리에서 DayNight 기능을 사용하도록 설정하고 클래스의 정적 초기화 블록에 코드를 넣으 라는 지침Application
입니다.
어떤 관점에서 보면 Kotlin companion object
의 s 는 자바 클래스의 정적 부분과 동일합니다. 특히 클래스가 처음 사용되기 전에 초기화되며이를 통해 해당 init
블록을 Java 정적 이니셜 라이저의 대체물로 사용할 수 있습니다 .
class C {
companion object {
init {
//here goes static initializer code
}
}
}
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
}
}
클래스 내부의 객체 선언은 동반 키워드로 표시 될 수 있으며,이 아래에서 자바 정적 메소드 및 변수와 같은 것을 사용할 수 있습니다 .LIke classname.methodname 또는 classname.variablename
참고 URL : https://stackoverflow.com/questions/37262468/static-initialisation-block-in-kotlin
반응형
'Development Tip' 카테고리의 다른 글
사용자 지정 메타 데이터 또는 구성을 package.json에 추가합니다. 유효합니까? (0) | 2020.11.24 |
---|---|
SQL 레코드가 존재하지 않는 경우에만 테이블에 삽입 (0) | 2020.11.24 |
.NET Core- "dotnet new sln"을 사용하는 경우 (0) | 2020.11.24 |
Python에서 "global"문을 사용합니까? (0) | 2020.11.24 |
멀티 스레딩 문제를 감지하고 디버깅하는 방법은 무엇입니까? (0) | 2020.11.24 |