Почему не может использовать новое ключевое слово для инициализации абстрактного класса в Java?

Я где-то прочитал, что мы не можем инициализировать интерфейс, например:

interface MyInterface{};

и следующий код определенно незаконно:

MyInterface m = new MyInterface();

и как я помню текст, я прочитал сказал: что Ключевое слово NEW используется для выделения памяти для членов класса; Таким образом, в случае интерфейса у нас есть только абстрактные функции, поэтому в интерфейсе нечего выделяться; Следовательно, инициализация интерфейса запрещена.

Хорошо, это имеет смысл для меня.

Но в случае абстрактного класса нам разрешено объявлять и определять абстрактные функции, не абстрактные функции, а также обычные переменные; так почему нам также не разрешено инициализировать абстрактный класс? И из-за этого мне было интересно, когда и насколько переменные в абстрактном классе, если таковые имеются, выделяются память?

6
задан ipkiss 7 September 2011 в 14:11
поделиться