Языки программирования
<<  Интерфейсы и внутренние классы Как в сделать чтобы картинки появлялись по очереди видео  >>
Java
Java
Определение простейшего класса без наследования
Определение простейшего класса без наследования
Переменные класса и константы
Переменные класса и константы
Конструкторы
Конструкторы
Аналог декструктора
Аналог декструктора
Конструктор по умолчанию
Конструктор по умолчанию
Конструктор суперкласса
Конструктор суперкласса
Методы
Методы
Статические поля и методы
Статические поля и методы
Модификатор final
Модификатор final
Абстрактные методы
Абстрактные методы
Модификатор native
Модификатор native
Модификатор synchronized
Модификатор synchronized
Логические блоки
Логические блоки
Перегрузка методов
Перегрузка методов
Правила перегрузки методов
Правила перегрузки методов
Параметризованные классы
Параметризованные классы
Ограничения на используемые типы
Ограничения на используемые типы
Ограничения для generic-типов
Ограничения для generic-типов
Параметризованные методы
Параметризованные методы
Методы с переменным числом параметров
Методы с переменным числом параметров
Перечисления
Перечисления
Методы типа enum
Методы типа enum
Ограничения на перечисления
Ограничения на перечисления

Презентация: «Для 3 класса без регистрации». Автор: alena. Файл: «Для 3 класса без регистрации.ppt». Размер zip-архива: 108 КБ.

Для 3 класса без регистрации

содержание презентации «Для 3 класса без регистрации.ppt»
СлайдТекст
1 Java

Java

3. Классы

1

2 Определение простейшего класса без наследования

Определение простейшего класса без наследования

class ИмяКласса { { } // логические блоки // дружественные данные и методы private // закрытые данные и методы protected // защищенные данные и методы public // открытые данные и методы }

2

3 Переменные класса и константы

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

Переменные класса cпецификатор тип имя; Статические переменные класса static Спецификаторы доступа: public private protected Константы - переменные со спецификатором final

Example01: типы атрибутов и переменных: second.Java

3

4 Конструкторы

Конструкторы

Конструктор ? это метод, который автоматически вызывается при создании объекта класса и выполняет действия по инициализации объекта. Конструктор имеет то же имя, что и класс; вызывается не по имени, а только вместе с ключевым словом new при создании экземпляра класса. Конструктор не возвращает значение, но может иметь параметры и быть перегружаемым.

4

5 Аналог декструктора

Аналог декструктора

метод finalize(). Исполняющая среда языка Java будет вызывать его каждый раз, когда сборщик мусора будет уничтожать объект класса, которому не соответствует ни одна ссылка.

5

6 Конструктор по умолчанию

Конструктор по умолчанию

Оператор new вызывает конструктор, поэтому в круглых скобках могут стоять аргументы, передаваемые конструктору. Если конструктор в классе не определен, Java предоставляет конструктор по умолчанию без параметров, который инициализирует поля класса значениями поумолчанию, например: 0, false, null. Если же конструктор с параметрами определен, то конструктор по умолчанию становится недоступным и для его вызова необходимо явное объявление такого конструктора.

Example02: перегрузка конструктора: quest.Java

6

7 Конструктор суперкласса

Конструктор суперкласса

Конструктор подкласса всегда вызывает конструктор суперкласса. Этот вызов может быть явным или неявным и всегда располагается в первой строке кода конструктора. Если конструктору суперкласса нужно передать параметры, то необходим явный вызов: super(параметры);

Example03: вычисление расстояния между точками

7

8 Методы

Методы

Простейшее определение метода returnType methodName(список_параметров) { // тело метода return value; // если нужен возврат значения (returnType не void) } Вызов методов осуществляется из объекта или класса (для статических методов) objectName.methodName(); Общее определение метода [доступ] [static] [abstract] [final] [native] [synchronized] returnType methodName(список_параметров) [throws список_исключений]

8

9 Статические поля и методы

Статические поля и методы

Поля данных, объявленные в классе как static, являются общими для всех объектов класса и называются переменными класса. Такие методы являются методами класса, не привязаны ни к какому объекту и не содержат указателя this на конкретный объект, вызвавший метод

Example04: статические метод и поле

9

10 Модификатор final

Модификатор final

final используется для определения констант член класса, локальная переменная параметр метода. Методы, объявленные как final, нельзя замещать в подклассах, для классов – создавать подклассы. Инициализация при объявлении в логическом блоке { } в конструкторе Значений по умолчанию нет. Значения констант изменять нельзя.

Example05: final-поля и методы

10

11 Абстрактные методы

Абстрактные методы

Абстрактные методы размещаются в абстрактных классах или интерфейсах, тела у таких методов отсутствуют и должны быть реализованы в подклассах. В отличие от интерфейсов, абстрактный класс может содержать и абстрактные, и неабстрактные методы, а может и не содержать ни одного абстрактного метода.

Example06: абстрактный класс и метод: abstractcourse.Java

11

12 Модификатор native

Модификатор native

Приложение на языке Java может вызывать методы, написанные на языке С++. Такие методы объявляются с ключевым словом native, которое сообщает компилятору, что метод реализован в другом месте. public native int loadCripto(int num); Методы, помеченные native, можно переопределять обычными методами вподклассах.

12

13 Модификатор synchronized

Модификатор synchronized

При использовании нескольких потоков управления в одном приложении необходимо синхронизировать методы, обращающиеся к общим данным. Когда интерпретатор обнаруживает synchronized, он включает код, блокирующий доступ к данным при запуске потока и снимающий блок при его завершении. Методы класса Object предназначеные для работы с потоками: notify() - уведомления о возвращении блокировки объекта notifyAll() - уведомления о возвращении блокировки объекта всем wait() - остановка потока

13

14 Логические блоки

Логические блоки

{ /* код */ } static { /* код */ } Используются в качестве инициализаторов полей Могут содержать вызовы методов и обращения к полям текущего класса Вызываются последовательно, в порядке размещения После выполнения последнего блока будет вызван конструктор класса Операции с полями класса внутри логического блока до явного объявления этого поля возможны только при использовании ссылки this блок static вызывается только один раз в жизненном цикле приложения при создании объекта при обращении к статическому методу (полю)

Example07 : использование логических блоков при объявлении класса: department.Java: demologic.Java

14

15 Перегрузка методов

Перегрузка методов

Метод называется перегруженным, если существует несколько его версий с одним и тем же именем, но с различным списком параметров. Переопределение - методы с одинаковыми именами и совпадающими списками параметров в разных классах одной цепочки наследования Статические методы могут перегружаться нестатическими и наоборот – без ограничений. Перегрузка реализует «раннее связывние»

Example08: вызов перегруженных методов: numberinfo.Java

15

16 Правила перегрузки методов

Правила перегрузки методов

Не использовать сложных вариантов перегрузки; не использовать перегрузку с одинаковым числом параметров; заменять при возможности перегруженные методы на несколько разных методов.

16

17 Параметризованные классы

Параметризованные классы

Параметризация позволяет создавать классы, интерфейсы и методы, в которых тип обрабатываемых данных задается как параметр

Example09: объявление класса с двумя параметрами : subject.Java

Example10: создание и использование объектов параметризованного класса

17

18 Ограничения на используемые типы

Ограничения на используемые типы

В качестве типа Т разрешено применять только классы, являющиеся наследниками (подклассами) класса Tип: public class OptionalExt <T extends Tип> { private T value; } Передать в метод параметризованного класса одного допустимого типа объект этого же класса, но параметризованного другим типом : при определении метода следует применить метасимвол ?

Example11: использование метасимвола в параметризованном классе

18

19 Ограничения для generic-типов

Ограничения для generic-типов

Невозможно выполнить явный вызов конструктора generic-типа: class optional <T> { T value = new T(); } generic-поля не могут быть статическими статические методы не могут иметь generic-параметры или обращаться к generic-полям

Example12 : неправильное объявление полей параметризованного класса: failed.Java

19

20 Параметризованные методы

Параметризованные методы

Параметризованный (generic) метод определяет базовый набор операций, которые будут применяться к разным типам данных, получаемых методом вкачестве параметра, и может быть записан, например, в виде: <T extends Тип> returnType methodName(T arg) {} <T> returnType methodName(T arg) {} Generic-методы могут находиться как в параметризованных классах, так и в обычных. Мета символы применимы и к generic-методам

Example13 : параметризованный метод: genericmethod.Java

20

21 Методы с переменным числом параметров

Методы с переменным числом параметров

void methodName(Тип... args) {} Чтобы передать несколько массивов в метод по ссылке, следует использовать следующее объявление: void methodName(Тип[ ]... args){} Методы с переменным числом аргументов могут быть перегружены: void methodName(Integer... args) {} void methodName(int x1, int x2) {} void methodName(String... args) {} void methodName(Тип1 obj, Тип2... args) {}

Example14 : определение количества параметров метода

Example15 : передача массивов: demooverload.Java

21

22 Перечисления

Перечисления

Типобезопасные перечисления (typesafe enums) в Java представляют собой классы и являются подклассами абстрактного класса java.lang.Enum. Объекты перечисления инициализируются прямым объявлением без помощи оператора new. При инициализации хотя бы одного перечисления происходит инициализация всех без исключения оставшихся элементов данного перечисления.

Example16 : применение перечисления: simpleuseenum.Java

22

23 Методы типа enum

Методы типа enum

Перечисление как подкласс класса Enum может содержать поля, конструкторы и методы, реализовывать интерфейсы. Каждый тип enum может использовать методы: static enumType[ ] values() возвращает массив, содержащий все элементы перечисления в порядке их объявления; static T valueOf(Class<T> enumType, String arg) возвращает элемент перечисления, соответствующий передаваемому типу и значению передаваемой строки; static enumType valueOf(String arg) возвращает элемент перечисления, соответствующий значению передаваемой строки; int ordinal() возвращает позицию элемента перечисления.

Example17 : объявление перечисления с методом : shape.Java

23

24 Ограничения на перечисления

Ограничения на перечисления

Им запрещено: быть суперклассами; быть подклассами; быть абстрактными; создавать экземпляры, используя ключевое слово new.

24

«Для 3 класса без регистрации»
http://900igr.net/prezentacija/informatika/dlja-3-klassa-bez-registratsii-199665.html
cсылка на страницу

Языки программирования

23 презентации о языках программирования
Урок

Информатика

130 тем
Слайды