Почему Java не является чисто объектно-ориентированным языком?
Язык оцифрованного программирования (OOP) использует метод объектно-ориентированного программирования, который связывает связанные данные и функции с объектом и поощряет повторное использование этих объектов в рамках одной и той же программы. Многие языки являются объектно-ориентированными, и есть семь качеств, которые удовлетворяются для того, чтобы язык программирования был чистым объектно-ориентированным. Они есть:
- Инкапсуляция / Скрытие данных
- Наследование
- Полиморфизм
- Абстракция
- Все предопределенные типы - объекты
- Все операции выполняются путем отправки сообщений объектам
- Все определяемые пользователем типы являются объектами.
Java чистый объект ориентирован или нет?
Есть много аргументов вокруг того, является ли Java чисто объектно-ориентированной или нет. Java не является чистым языком ООП по двум причинам:
Первая причина заключается в том, что для объектно-ориентированного языка программирования должны быть только объекты, тогда как Java содержит 8 примитивных типов данных, таких как char, boolean, byte, short, int, long, float, double, которые не являются объектами. Эти примитивные типы данных могут использоваться без использования какого-либо объекта. (Например, int x = 10; System.out.print (x.toString());)
Вторая причина связана с ключевым словом static. В чисто объектно-ориентированном языке мы должны получить доступ ко всем путем передачи сообщений (через объекты). Но Java содержит статические переменные и методы, к которым можно напрямую обращаться без использования объектов. Это означает, что когда мы объявляем класс как «статический», он может ссылаться без использования объекта.