2013-03-26 3 views
-1

에서 활동 클래스 메서드를 호출 할 수 없습니다,하지만 난 예를 들어, 인스턴스에서 활동 클래스 메서드를 호출 할 수 없습니다 이유를 이해하지 못할 :내가 안드로이드 개발을 배우기 시작 했어 예를

이 코드 나던 작업 :

public class MainActivity extends Activity { 
    public void test(){ 
     Activity a = new Activity(); 
     a.onCreate(savedInstanceState); 
} 
+0

코드가 작동하지 않는 이유는 무엇입니까? 오류 메시지를 표시하거나 잘못된 점을 설명해야합니다. 또한 닫는 중괄호가없는 것으로 보입니다. 그게 문제 야? –

답변

0

간단한 설명은 일반적인 경우에 a이 유형의 될 수 있기 때문에 Activity또는 서브 클래스 Activity클래스 메소드의 어떤 인터페이스, 컴파일러 CANN의 일부가 아닌 것이 될 것이다 컴파일 타임에 Activity의 모든 서브 클래스가 실제로 OnCreate를 구현하므로 실제로 호출 할 수 있습니다.

이 특별한 경우에 컴파일러는 통계 분석을 수행하고 유형을 파악할 수 있지만 함수에서 a 값을 얻기 위해 코드를 리팩토링하거나 유효하지 않은 경우 코드가 유효하지 않게됩니다. in을 매개 변수로 사용합니다.

관련 문제