Я знаю, мы не можем создать экземпляр интерфейса или абстрактного класса в java, кроме метода анонимного класса, но что за его причина?Почему мы не можем создать экземпляр интерфейса или абстрактного класса в java без метода анонимного класса?
ответ
Вы не можете создать экземпляр интерфейса или абстрактный класс, потому что он будет игнорировать объектно-ориентированную модель.
Интерфейсы представляют собой контракты - обещание, что разработчик интерфейса сможет выполнять все эти действия, выполнить контракт.
Абстрактные классы - это аналогичная идея, поскольку они представляют собой невыполненный контракт, обещание иметь возможность делать что-либо, за исключением того, что в отличие от интерфейсов у них есть некоторые из их функций или полей, но они нуждаются в заполнении до их использования.
Просто в хорошей объектно-ориентированной программе вы никогда не должны создавать экземпляр абстрактного класса или интерфейса. Если вы это сделаете, дизайн, вероятно, неправильный.
(Анонимные классы - фактически не абстрактные экземпляры, просто им не нужно указывать имя, поэтому они выглядят как «сырые интерфейсы», но на самом деле это реализация интерфейса, который не имеет имени . По крайней мере, это мое понимание.)
Вот базовое объяснение без более глубокой концепции.
Interface
не имеет метода, реализованный, так что нет никакой цели создать его экземпляр, как «ничего» будет происходить при вызове методаAbstract
класс может иметьabstract
метод заявления, которое, как метод интерфейса, без реализации ,
Вы не можете создавать интерфейсы или абстрактные классы, потому что некоторые из их методов могут не иметь определений.
Может уточнить, что * none * будет с интерфейсом. – ChiefTwoPencils
- 1. создать объект абстрактного класса! = Создать экземпляр абстрактного класса?
- 2. Как создать экземпляр анонимного класса абстрактного класса в Котлине?
- 3. Не удается создать экземпляр абстрактного класса или интерфейса «System.Array»
- 4. Не удается создать экземпляр абстрактного класса или интерфейса «» system.xml.XmlWriter
- 5. Какое использование абстрактного класса, интерфейса или абстрактного метода
- 6. C#: Не удается создать экземпляр абстрактного класса или интерфейса
- 7. Создание экземпляра абстрактного класса или анонимного класса
- 8. Вызов интерфейса или абстрактного метода класса через его экземпляр
- 9. Как создать экземпляр абстрактного класса в Java?
- 10. «Невозможно создать экземпляр абстрактного класса или интерфейса» сообщение C# ошибка
- 11. EntityFrameworkCore - Невозможно создать экземпляр абстрактного класса или интерфейса
- 12. Невозможно создать экземпляр абстрактного класса
- 13. Создать экземпляр производного абстрактного класса в C++
- 14. Почему экземпляр анонимного класса может быть назначен переменной интерфейса?
- 15. Почему класс абстрактного класса, когда нет абстрактного метода
- 16. Невозможно создать экземпляр абстрактного класса
- 17. JAXB не удалось создать экземпляр абстрактного класса
- 18. вызов метода интерфейса в методе абстрактного класса
- 19. создать объект абстрактного класса и интерфейса
- 20. Экземпляр абстрактного класса не работает
- 21. Почему мы создали экземпляр абстрактного класса, когда нам не разрешено?
- 22. Java - анонимный экземпляр абстрактного класса
- 23. Каков размер абстрактного класса и почему мы не можем создавать объекты абстрактного класса?
- 24. Почему мы не можем сделать экземпляр внутреннего класса внутри основного метода внешнего класса обычным способом?
- 25. Как создать экземпляр внутреннего класса абстрактного класса - Java
- 26. Как создать экземпляр анонимного интерфейса в Котлине?
- 27. C++ не может создать экземпляр абстрактного класса
- 28. Как обнаружить экземпляр анонимного класса?
- 29. Обертка не может создать экземпляр абстрактного класса
- 30. Обновить экземпляр класса StringVar() от абстрактного метода
В вашем интерфейсе есть код для использования? – ChiefTwoPencils