Java

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

Java (трансл. Джава, Ява) — высок. ур. ООП ЯП, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle) в 1995 г.; 1-ый полностью ООП, платформонезависимый ЯП высок. ур., у которого стандарт. библиотека полностью написана на CamelCase нотации.

Концепция

  • Java всецело (целиком и полностью) базируется на парадигме ООП.
  • Нотация (стиль написания составных слов) — camelCase, вместо snake_case, принятой в C/C++.
  • Предпочтение методам начинающимся с глаголов get и set, т.н. геттеры и сеттеры.

Философия

Философия Java — делать вещи как можно более простыми. Поэтому разработчики Java отказались от указателей, перегрузки операторов и множественного наследования, а также добавили спец. базовый супер класс (Object) для всеобщего его наследования.

Исключения вместо null

В Java большую популярность имеет концепция проверки исключений вместо проверки на null, согласно которой, вместо классической C-подобной проверки на null возвращаемого значения необходимо кидать, ловить и проверять исключения. Т.е. метод должен не возвращать null, а бросать соотв. исключение, а вызывающий его — ловить их и проверять возможные исключения.

Кроссплатформенность

Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине вне зависимости от компьютерной архитектуры.

Средства GUI

В Java есть несколько стандартных (встроенных) оконных библиотек графического интерфейса: AWT и Swing. Разумеется, обе кроссплатформенные.

Отличия от др. ЯП

Отличительные особенности Java от др. ЯП:

  • В отличие от C#, в Java нет делегатов, ссылок на методы и проч. Вместо этого используются анонимные классы.
  • Разрешены внутренние и анонимные классы.
  • Вместо классических пространств имён используется система пакетов.

Примеры синтаксиса

Программный текстОписание
new Main().run();
Создание безымянного объекта класса и вызов метода run.
ActionListener lstnr = new ActionListener() {
	public void actionPerformed(ActionEvent event) {
		System.out.println("test");
	}  
};
Переменная lstnr содержит экземпляр анонимного класса, реализующего существующий интерфейс ActionListener.

Шаблон:Java Шаблон:PL