2013-03-26 1 views
-1

Я начинаю учиться андроид развития, но я не могу понять, почему я не могу обратиться за помощью к методам класса активности от экземпляра, например:не могут вызывать методы класса активности от экземпляра

этот код не работает:

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

Как работает код? Вам нужно показать нам сообщение об ошибке или описать, что происходит не так. Кроме того, кажется, что вам не хватает закрывающей фигурной скобки. Это проблема? –

ответ

0

простое объяснение было бы, что с a в общем случае может быть типа Activityили любой подкласс из Activity и методы класса не являются частью любого интерфейса, компилятор CANN ot во время компиляции знайте, что все подклассы Activity фактически реализуют OnCreate, так что это действительно вызываемо.

Вы можете утверждать, что в этом специальном случае компилятор может выполнить статистический анализ и указать тип, но это сделает код, который станет недействительным, если вы реорганизуете код, чтобы получить значение a от функции или передано в качестве параметра.