Java. Заметка вторая

Ещё немного о типах
Стоит заметить, что в java почти все встроенные целочисленные типы (кроме byte) — знаковые.
Операции
В java присутствуют если не все, то большинство операций, имеющихся в С++.
Перегрузка операций отсутствует.
Для сдвига предусмотрены две различных операции:
а) >> — знаковый бит «уходит» в старший разряд (циклический сдвиг)
б) >>> — знаковый бит игнорируется (в старший разряд заносится 0)

ООП
Построение дерева объектов достигается за счёт использования классов и интерфейсов.

Интерфейсы могут содержать объявления методов и статические классы.

Наследование
Интерфейс может расширять другие интерфейсы, а класс может расширять один (и только один) другой класс и реализовывать любое число интерфейсов:

При этом, если среди методов наследуемого класса и реализуемых интерфейсов возникают коллизии, то никто не гарантирует, как JVM (java-машина) их разрешит. Так что будьте бдительны, как говорится. 😉

Чтобы проверить, расширяет ли (или реализует ли) объект некоторый класс (интерфейс), используется оператор instanceof:

Теперь немного о принятом стиле кодирования
Если вкратце, в java применяется camel-именование переменных (первый символ первого слова маленький, у остальных слов в имени переменной первые символы — большие). Подчёркивание используется довольно редко (в основном, в именах констант общего применения).
Если есть желание познакомиться подробнее, рекомендую почитать рекомендации от Sun.

Информацию о различных классах лучше всего читать в javadoc — официальной документации по java. В онлайне найти её можно здесь. Я же предпочитаю скачать и использовать документацию локально. Найти SDK и javadoc для скачивания можно на этой странице. Для начала я рекомендую использовать Java SE (Standard Edition) — и объём меньше, и попроще в освоении.
Для того, чтобы освоиться с интерфейсом, стоит заглянуть на http://www.javable.com/ (кроме прочего, там есть и перевод сановского туториала на русский). Ну а когда освоитесь и захочется сделать необычный интерфейс (или просто «навороченный»), идите на http://www.java2s.com/ — там много примеров и не только по GUI.

На этом на сегодня всё. В следующей заметке поговорим о GUI и нарисуем простейшее оконное приложение.


Хм… видимо, использованные мною формулировки оказались запутывающими… Попробую исправиться.

Иерархия объектов в java cтроится на основе классов и интерфейсов. Как я уже говорил выше, класс может расширять (extends) один из классов и/или реализовывать (implements) один и более интерфейсов.
Если у класса явно не указа класс-предок, то таковым является Object (все объекты так или иначе «выросли» из этого «корня»).
Классы в java служат для представления некоторых классов объектов, а интерфейсы — для определения некоторого списка методов, объединённых логически в одну группу (интерфейс взаимодействия с внешним миром; хотя, не обязательно только с внешним ;)). Причём, имя класса обычно преставляется существительным, описывающим его суть (пример: Exception, String, Button), а имя интерфейса — прилагательным, описывающим, для чего интерфейс предназначен (пример: Editable, Throwable).
Наверное, стоит ещё раз повторить, что интерфейс не может содержать ни реализации методов, ни поля данных. Считаем, что повторил. 🙂

Пример:

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *