이 유형의 생성자 간에는 어떤 차이가 있습니까?두 생성자간에 다른 점은 무엇입니까?
class ColorsArray(context: Context) {}
및
class ColorsArray(var context: Context){}
이 유형의 생성자 간에는 어떤 차이가 있습니까?두 생성자간에 다른 점은 무엇입니까?
class ColorsArray(context: Context) {}
및
class ColorsArray(var context: Context){}
두 번째 클래스뿐만 아니라 Context
를 사용하는 생성자를 선언하지만 그것은 또한 생성자에 전달 된 값을 저장 context
라는 이름의 속성이 있습니다. 당신은 다음과 같이이 액세스 할 수 있습니다
var
아닌
val
로 선언 한 이후
val colorsArray = ColorsArray(context)
println(colorsArray.context)
, 이것은 또한 재 할당 할 수 있습니다. 기본 생성자에서 선언
colorsArray.context = someOtherContext
속성은 문서 here에 적용됩니다.
첫 번째 경우 생성자는 context
매개 변수를 사용하고 아무 것도 수행하지 않습니다.
이 두 번째 경우의 코드 예가 제공 :
class ColorsArray(context: Context) {
var context: Context = context
}
:
class ColorsArray(var context: Context) { }
바로 가기를 인