В иерархии наследования сверху вниз классы, расположенные на верхнем уровне, более общие и могут быть даже более абстрактными. С определенной точки зрения классы предков более общие, они содержат только одни из самых основных участников, и люди используют его только в качестве базового класса для получения других классов и не будут использоваться для создания объектов. Даже вы можете дать только определение метода без его реализации, и подклассы реализуют его в соответствии с конкретными потребностями.
Этот метод, который дает только определения метода, но не реализует конкретно, называется абстрактным методом. Классы, содержащие один или несколько абстрактных методов, также должны быть объявлены как абстрактные классы.
Используйте абстрактный модификатор, чтобы представлять абстрактные методы и абстрактные классы.
В дополнение к содержанию абстрактных методов, абстрактные классы также могут содержать конкретные переменные и конкретные методы. Даже если класс не содержит абстрактных методов, его можно объявить как абстрактный класс, чтобы предотвратить его создание.
Абстрактные классы не могут быть созданы, абстрактные методы должны быть реализованы на подклассах. Пожалуйста, смотрите следующий код:
Импорт статический java.lang.system.*; Driver D = New Driver (); void setName (string name) {this.name = name; public void work () {out.println («Мое имя» + this.getName () + », я прочитаю лекцию, пожалуйста, не смотрите вокруг ...»); // Этот метод должен быть реализован public void work () {out.println ("Мое имя" + this.getName () + ", я еду и не могу ответить на вызов ...");
Результаты работы:
Меня зовут Ван Мин, я процену лекцию, пожалуйста, не оглядывайтесь ... Меня зовут Сяо Чен, я еду и не могу ответить на телефон ...
Несколько объяснений об абстрактных классах:
Абстрактные классы не могут быть использованы напрямую. Однако может быть создана переменная, чей тип является абстрактным классом, и пусть она указывает на экземпляр конкретного подкласса. , то есть применение полиморфизма.
Не может быть абстрактных методов строительства или абстрактных статических методов.
Класс станет абстрактным классом в следующих случаях:
Когда один или несколько методов класса являются абстрактными методами;
Когда класс является подклассом абстрактного класса и не может предоставить какие -либо детали реализации или орган метода для любого абстрактного метода;
Когда класс реализует интерфейс и не может предоставить детали реализации или тело метода для любого абстрактного метода;
Здесь мы говорим, так это то, что в этих случаях класс станет абстрактным классом, и не говорится, что абстрактный класс определенно будет иметь эти ситуации.
Типичная ошибка: абстрактный класс должен содержать абстрактные методы. Но с другой стороны, «класс, содержащий абстрактные методы, должен быть абстрактным классом», является правильным.
На самом деле, абстрактный класс может быть совершенно нормальным классом