Kotlin 은 정적 변수 와 정적 방법 을 사용 하여 상세 하 게 설명 합 니 다.
일상적인 개발 과정 에서 정적 변수 와 정적 방법 은 우리 가 흔히 볼 수 있 는 용법 입 니 다.자바 에 서 는 여러분 이 낯 설 지 않다 고 믿 습 니 다.그러면 Kotlin 에서 어떻게 사용 해 야 합 니까?
사실은 매우 간단 합 니 다.하나의 변수 와 방법 을 copanion object 필드 에 포함 시 키 면 됩 니 다.예 를 들 어 다음 과 같 습 니 다.
class Constant {
companion object {
//
const val BASE_URL = "http://xxxx.xxx.xxx/"
//
const val UMENG_APP_KEY = "xxxxxxxxxx"
const val UMENG_CHANNEL = "umeng"
//
const val WEIBO_APP_KEY = "xxxxxxxx"
const val WEIBO_SECRET = "xxxxxxxxxx"
fun getVideoFactor(){
// do some work
}
}
}
보니까 쉽 지 않 아 요?순수한 kotlin 코드 에서 직접 이렇게 사용 할 수 있 습 니 다:
// APIKey
PlatformConfig.setWeixin(Constant.WECHAT_APP_ID, Constant.WECHAT_APP_SECRET)
PlatformConfig.setSinaWeibo(Constant.WEIBO_APP_KEY, Constant.WEIBO_SECRET, Constant.WEIBO_AUTH_RETURN_URL)
그러나 만약 에 우리 가 자바 와 kotlin 을 혼합 개발 하 는 것 을 사용한다 면 자바 코드 에서 Constant.정적 변수의 방식 으로 정적 변수 나 방법 을 사용 할 수 없고 다음 과 같은 방식 으로 사용 할 수 없습니다.
// APIKey
PlatformConfig.setWeixin(Constant.Companion.WECHAT_APP_ID, Constant.WECHAT_APP_SECRET)
PlatformConfig.setSinaWeibo(Constant.Companion.WEIBO_APP_KEY, Constant.WEIBO_SECRET, Constant.WEIBO_AUTH_RETURN_URL)
만약 우리 가 kotlin 처럼 클래스 이름 을 통 해 직접 사용 하고 싶다 면,정적 변 수 는?우 리 는 주석@JvmField 와@JvmStatic 를 통 해 정적 변수 와 정적 방법 을 각각 표시 할 수 있 습 니 다.그 후에 저 는 자바 코드 에서 예전 처럼 정적 인 구성원 을 직접 사용 할 수 있 습 니 다!예 를 들 어 다음 과 같다.
/**
* @author moosphon on 2018/12/12
* desc:
*/
class ExceptionHandler {
companion object {
@JvmField
var errorCode = NetRequestStatus.UNKNOWN_ERROR
@JvmField
var errorMessage = " , "
@JvmStatic
fun handleException(e : Throwable): String{
e.printStackTrace()
when(e){
is SocketException -> {
Logger.e("ExceptionHandler", " : " + e.message)
errorCode = NetRequestStatus.NETWORK_ERROR
errorMessage = " "
}
is JsonParseException -> {
Logger.e("ExceptionHandler", " : " + e.message)
errorCode = NetRequestStatus.PARSE_ERROR
errorMessage = " "
}
else -> {
try {
Logger.e("ExceptionHandler", " : " + e.message)
} catch (e1: Exception) {
Logger.e("ExceptionHandler", " : " + e.message)
}
errorCode = NetRequestStatus.UNKNOWN_ERROR
errorMessage = " , ~"
}
}
return errorMessage
}
}
}
그동안 바 빴 던 만큼 앞으로 도 계속 코 틀 린 쪽 글 을 올 려 드릴 예정 이 니 기대 해 보 세 요.총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 실험, 에피소드 1a String 의 중심에 있는 문자를 반환하는 메서드를 작성하려는 경우 Java에서 가장 좋은 옵션은 유틸리티 클래스를 정의하는 것입니다. Kotlin을 사용하면 을 통해 기존 클래스에 새 메서드를 추가할 수 있습...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.