오버로드된 메소드 오버라이딩...
뭔가 희한한 상황이어서 질문드립니다!!
문자는 오버로드된 init 메소드를 오버라이딩하는건데요
폰갭 안드로이드 소스내에 init 메소드를 오버라이딩하려고 합니다
/**
* Create and initialize web container with default web view objects.
*/
public void init() {
this.init(new WebView(DroidGap.this), new CordovaWebViewClient(this), new CordovaChromeClient(DroidGap.this));
}
/**
* Initialize web container with web view objects.
*
* @param webView
* @param webViewClient
* @param webChromeClient
*/
public void init(WebView webView, WebViewClient webViewClient, WebChromeClient webChromeClient) {
LOG.d(TAG, "DroidGap.init()");
// Set up web container
this.appView = webView;
this.appView.setId(100);
this.appView.setLayoutParams(new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT,
1.0F));
this.appView.setWebChromeClient(webChromeClient);
this.setWebViewClient(this.appView, webViewClient);
this.appView.setInitialScale(0);
this.appView.setVerticalScrollBarEnabled(false);
...
위처럼 init() 메소드와 init(WebView ~~~) 메소드가 있구요
두 메소드는 DroidGap 이라는 클래스에 존재합니다
일반적으로 하던것처럼 DroidGap 을 상속받는 클래스를만들고
init() 메소드를 재정의 하려고 하는데요 init() 에는 접근할수있는데 init(WebView~ ) 에는
자동완성에도 아예 안뜨네요..... 혹시나 해서 동일한 케이스로 테스트클래스를만들어서
해봤는데 잘 되더군요
도대체 무슨 상황인지;;;; public 메소드라도 오버라이딩이 금지되거나 그렇게 할수도 있느건가요??
음
혹시 메서드가 final로 정의되어있지는 않은가요?
댓글 달기