Поскольку мы не можем создать экземпляр абстрактного класса, то в чем необходимость наличия конструкторов в абстрактном классе?В чем используются конструкторы в абстрактных классах?
ответ
Абстрактные классы предназначены для расширения, каждый конструктор от дочернего must perform a call to a constructor from the base class, поэтому вам нужны конструкторы в вашем абстрактном классе.
Относительный класс - это скелет, поэтому нет смысла его создавать непосредственно, так как он еще неполный (дети предоставят остальное).
Пример:
public abstract class BaseClass
{
private String member;
public BaseClass(String member)
{
this.member = member;
}
... abstract methods...
}
public class ImplementingClass extends BaseClass
{
public ImplementingClass(String member)
{
/* Implementing class must call a constructor from the abstract class */
super(member);
}
... method implementations...
}
Мы можем использовать конструктор абстрактного класса для выполнения кода, который имеет отношение к каждому подклассу. Таким образом, предотвращение дублирования кода
Абстрактные классы могут иметь поля и не абстрактные методы (что делает его абстрактным классом rater, чем интерфейс). Поля, вероятно, должны быть инициализированы, когда экземпляр класса, который его расширяет, создается.
Имея конструктор в абстрактном классе позволяет вызывать super(foo);
инициализировать их, в отличие от делать это непосредственно
- 1. Конструкторы в абстрактных классах?
- 2. Конструкторы в абстрактных классах?
- 3. Абстрактные методы в абстрактных классах
- 4. Использование дженериков в абстрактных классах
- 5. переменных в абстрактных классах С ++
- 6. Statics Properties в абстрактных классах
- 7. newInstance() на абстрактных классах?
- 8. Конструкторы в унаследованных классах C++
- 9. Конструкторы VB.NET в производных классах
- 10. Выполнение реализации событий в производных абстрактных классах
- 11. Где используются виртуальные конструкторы?
- 12. C# Свойства в абстрактных базовых классах
- 13. C++ и наследование в абстрактных классах
- 14. защищенные внутренний конструктор в абстрактных классах
- 15. Абстрактные методы в не абстрактных классах
- 16. Использование констант в абстрактных классах Objective-C?
- 17. Не реализованный конструктор в абстрактных классах
- 18. Двусторонняя связь grails в абстрактных классах
- 19. C# Свойства в интерфейсах и абстрактных классах
- 20. Модификаторы доступа для свойств в абстрактных классах
- 21. Полиморфизм также применяется в абстрактных классах?
- 22. Ключевое слово 'this' в абстрактных классах
- 23. JAXB: Разместить тег XML в абстрактных классах
- 24. Оператор << в абстрактных классах, C++
- 25. В чем используются абстрактные деревья синтаксиса?
- 26. (простые) конструкторы в вариационных шаблонных классах
- 27. Конструкторы и как они используются
- 28. Конструкторы во вложенных классах (C++)
- 29. Наследование против крючков в абстрактных классах подход к дизайну
- 30. В чем используются декларации дисперсии?
http://stackoverflow.com/questions/260666/abstract-class-constructor-in-java –