Презентация Java. SE. 01. Java fundamentals. Введение в язык java. Типы данных, переменные, операторы. Простейшие классы и объекты онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Java. SE. 01. Java fundamentals. Введение в язык java. Типы данных, переменные, операторы. Простейшие классы и объекты абсолютно бесплатно. Урок-презентация на эту тему содержит всего 236 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Java. SE. 01. Java fundamentals. Введение в язык java. Типы данных, переменные, операторы. Простейшие классы и объекты



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    236 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    1.37 MB
  • Просмотров:
    187
  • Скачиваний:
    1
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
JAVA FUNDAMENTALS
Содержание слайда: JAVA FUNDAMENTALS

№2 слайд
Сожержание Введение в язык
Содержание слайда: Сожержание Введение в язык Java Типы данных, переменные, операторы Простейшие классы и объекты Java Beans Массивы Code conventions Параметризованные классы Перечисления Внутренние классы Документирование кода

№3 слайд
Введение в язык Java
Содержание слайда: Введение в язык Java

№4 слайд
Введение в язык Java. Язык
Содержание слайда: Введение в язык Java. Язык программирования Java Java - это объектно-ориентированный, платформенно-независимый язык программирования, используемый для разработки информационных систем, работающих в сети Internet. Объектно-ориентированный язык Java, разработанный в Sun Microsystems, предназначен для создания переносимых на различные платформы и операционные системы программ. Язык Java нашел широкое применение в Интернет-приложениях, добавив на статические и клиентские Web-страницы динамическую графику, улучшив интерфейсы и реализовав вычислительные возможности. Но объектно-ориентированная парадигма и кроссплатформенность привели к тому, что уже буквально через несколько лет после своего создания язык практически покинул клиентские страницы и перебрался на сервера. На стороне клиента его место занял язык JavaScript.

№5 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Использование памяти В Java все объекты программы расположены в динамической памяти (heap) и доступны по объектным ссылкам, которые в свою очередь хранятся в стеке. Это решение исключило непосредственный доступ к памяти, но усложнило работу с элементами массивов. Необходимо отметить, что объектные ссылки языка Java содержат информацию о классе объектов, на которые они ссылаются, так что объектные ссылки - это не указатели, а дескрипторы объектов. Наличие дескрипторов позволяет JVM выполнять проверку совместимости типов на фазе интерпретации кода, генерируя исключение в случае ошибки.

№6 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Жизненный цикл программы на Java

№7 слайд
Введение в язык Java. Простое
Содержание слайда: Введение в язык Java. Простое линейное приложение. Example 1 Результат:

№8 слайд
Введение в язык Java. Простое
Содержание слайда: Введение в язык Java. Простое объектно-ориентированное приложение. Example 2 Результат:

№9 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Компиляция и запуск приложения из командной строки Создайте файл Console.java со следующим содержанием Скомпилируйте программу командой javac.exe Console.java

№10 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Компиляция и запуск приложения из командной строки После успешной компиляции создастся файл Console.class. Если такой файл не создался, то, значит, код содержит ошибки, которые необходимо устранить и ещё раз скомпилировать программу. Для запуска программы их консоли выполните команду java.exe Console

№11 слайд
Введение в язык Java. Работа
Содержание слайда: Введение в язык Java. Работа с аргументами командной строки Создайте файл ConsoleArguments.java со следующим содержанием: Скомпилируйте приложение и запустите его с помощью следующей командной строки java.exe CommandArg first second 23 56 23,9

№12 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Консоль. Простейшие примеры Взаимодействие с консолью с помощью потока System.in представляет собой один из простейших способов передачи информации в приложение. В следующем примере рассматривается ввод информации в виде символа из потока ввода, связанного с консолью, и последующего вывода на консоль символа и его числового кода.

№13 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Консоль. Простейшие примеры. Example 3 Результат:

№14 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Консоль. Простейшие примеры. Example 4 Результат:

№15 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Консоль. Простейшие примеры. Example 5

№16 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Консоль. Простейшие примеры. Example 5 Результат:

№17 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Консоль. Простейшие примеры. Example 6

№18 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Консоль. Простейшие примеры. Example 6 Результат:

№19 слайд
Введение в язык Java.
Содержание слайда: Введение в язык Java. Консоль. Простейшие примеры. Example 7 Результат:

№20 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы

№21 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Примитивные и ссылочные типы Язык Java является объектно-ориентированным, но существуют типы данных (простые/примитивные), не являющиеся объектами. Фактор производительности Простые типы делятся на 4 группы: целые: int, byte, short, long, числа с плавающей точкой: float, double символы: char логические: boolean Введение в синтаксис языка классов позволяет создавать свои типы, получившие название ссылочных.

№22 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Примитивные типы

№23 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Размер типа данных. Значения по умолчанию Размер одинаков для всех платформ; за счет этого становится возможной переносимость кода Размер boolean неопределен. Указано, что он может принимать значения true или false

№24 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Размер типа данных. Значения по умолчанию Неинициализированная явно переменная (член класса) примитивного типа принимает значение в момент создания

№25 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Переменные. Объявление переменных Характеристики. Основное место для хранения данных Должны быть явно объявлены Каждая переменная имеет тип, идентификатор и область видимости Определяются для класса, для экземпляра и внутри метода Объявление переменных. Может быть объявлена в любом месте блока кода Должна быть объявлена перед использованием Обычно переменные объявляются в начале блока Область видимости определяется блоком Необходимо инициализировать переменные перед использованием Переменные простых типов инициализируются автоматически

№26 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Переменные. Объявление переменных Основная форма объявления тип идентификатор [ = значение]; При объявлении переменные могут быть проинициализированы

№27 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Переменные. Объявление переменных Java не позволяет присваивать переменной значение более длинного типа, если только это не константы. Исключение составляют операторы инкремента, декремента и операторы +=, =, *=, /=. В именах переменных не могут использоваться символы арифметических и логических операторов, а также символ ‘#’. Применение символов ‘$’ и ‘_’ допустимо, в том числе и в первой позиции имени.

№28 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Ключевые и зарезервированные языка Java

№29 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Ключевые и зарезервированные языка Java Кроме ключевых слов, в Java существуют три литерала: null, true, false, не относящиеся к ключевым и зарезервированным словам. Зарезервированные слова: const, goto.

№30 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Литералы

№31 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Преобразования типов Java запрещает смешивать в выражениях величины разных типов, однако при числовых операциях такое часто бывает необходимо. Различают повышающее (разрешенное, неявное) преобразование и понижающее приведение типа. Повышающее преобразование осуществляется автоматически по следующему правилу. Серыми стрелками обозначены преобразования, при которых может произойти потеря точности.

№32 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Расширяющее и сужающее преобразование типов Расширяющее преобразование. Результирующий тип имеет больший диапазон значений, чем исходный тип: Сужающее преобразование. . Результирующий тип имеет меньший диапазон значений, чем исходный тип.

№33 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Потеря точности при преобразовании типов. Example 8

№34 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Потеря точности при преобразовании типов. Example 8 Результат:

№35 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки Кроме базовых типов данных широко используются соответствующие классы (wrapper классы): Boolean, Character, Integer, Byte, Short, Long, Float, Double. Объекты этих классов могут хранить те же значения, что и соответствующие им базовые типы. Объекты этих классов представляют ссылки на участки динамической памяти, в которой хранятся их значения и являются классами оболочками для значений базовых типов. Указанные классы являются наследниками абстрактного класса Number и реализуют интерфейс Comparable, представляющий собой интерфейс для работы со всеми скалярными типами. Объекты этих классов являются константными

№36 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки

№37 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки. Example 9 Результат:

№38 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки Если требуется создать метод, изменяющий свои числовые параметры, необходимо воспользоваться классами вспомогательных типов из пакета org.omg.CORBA IntHolder, BooleanHolder и др.

№39 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки. Example 10

№40 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки. Example 10 Результат:

№41 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки Класс Character не наследуется от Number, так как ему нет необходимости поддерживать интерфейс классов, предназначенных для хранения результатов арифметических операций. Класс Character имеет целый ряд специфических методов для обработки символьной информации. У этого класса, в отличие от других классов оболочек, не существует конструктора с параметром типа String. digit(char ch, in radix) - переводит цифру ch системы счисления с основанием radix в ее числовое значение типа int. forDigit(int digit, int radix) - производит обратное преобразование целого числа digit в соответствующую цифру (тип char) в системе счисления с основанием radix.

№42 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки Основание системы счисления должно находиться в диапазоне от Character.MIN_RADIX до Character.MAX_RADIX. Метод toString() переводит символ, содержащийся в классе, в строку с тем же символом. Статические методы toLowerCase(), touppercase(), toTitieCase() возвращают символ, содержащийся в классе, в указанном регистре. Последний из этих методов предназначен для правильного перевода в верхний регистр четырех кодов Unicode, не выражающихся одним символом. Множество статических логических методов проверяют различные характеристики символа, переданного в качестве аргумента метода.

№43 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки. Example 11

№44 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Классы-оболочки. Example 11 Результат:

№45 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Big-классы Java включает два класса для работы с высокоточной арифметикой: BigInteger и BigDecimal, которые поддерживают целые числа и числа с фиксированной точкой произвольной точности.

№46 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Big-классы. Example 12 Результат:

№47 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Упаковка/распаковка В версии 5.0 введен процесс автоматической инкапсуляции данных базовых типов в соответствующие объекты оболочки и обратно (автоупаковка). При этом нет необходимости в создании соответствующего объекта с использованием оператора new. Автораспаковка – процесс извлечения из объекта-оболочки значения базового типа. Вызовы таких методов, как intValue(), doubleValue() становятся излишними.

№48 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Упаковка/распаковка Допускается участие объектов в арифметических операциях, однако не следует этим злоупотреблять, поскольку упаковка/распаковка является ресурсоемким процессом.

№49 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Упаковка/распаковка Несмотря на то, что значения базовых типов могут быть присвоены объектам классов-оболочек, сравнение объектов между собой происходит по ссылкам. Метод equals() сравнивает не значения объектных ссылок, а значения объектов, на которые установлены эти ссылки. Поэтому вызов oa.equals(ob) возвращает значение true. Значение базового типа может быть передано в метод equals(). Однако ссылка на базовый тип не может вызывать методы.

№50 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Упаковка/распаковка. Example 12 Результат:

№51 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Упаковка/распаковка При инициализации объекта класса-оболочки значением базового типа преобразование типов необходимо указывать явно. Возможно создавать объекты и массивы, сохраняющие различные базовые типы без взаимных преобразований, с помощью ссылки на класс Number. При автоупаковке значения базового типа возможны ситуации с появлением некорректных значений и непроверяемых ошибок.

№52 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Класс Math Для организации математических вычислений в Java существует класс Math.

№53 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Статический импорт Ключевое слово import с последующим ключевым словом static используется для импорта статических полей и методов классов, в результате чего отпадает необходимость в использовании имен классов перед ними.

№54 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Статический импорт. Example 13 Результат:

№55 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы Арифметические операторы

№56 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы Битовые операторы

№57 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы Операторы отношения Применяются для сравнения символов, целых и вещественных чисел, а также для сравнения ссылок при работе с объектами. Логические операторы

№58 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы К операторам относится также оператор определения принадлежности типу instanceof, оператор [ ] и тернарный оператор ?: (if-then-else). Логические операции выполняются над значениями типа boolean (true или false). Оператор instanceof возвращает значение true, если объект является экземпляром данного класса.

№59 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы Операции над целыми числами: +, , *, %, /, ++,-- и битовые операции &, |, ^, ~ аналогичны операциям большинства языков программирования. Деление на ноль целочисленного типа вызывает исключительную ситуацию, переполнение не контролируется.

№60 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы Операции над числами с плавающей точкой практически те же, что и в других языках, но по стандарту IEEE 754 введены понятие бесконечности +Infinity и –Infinity и значение NaN (Not a Number). Результат деления положительного числа на 0 равен положительной бесконечности, отрицательного – отрицательной бесконечности. Вычисление квадратного корня из отрицательного числа или деление 0/0 – не число. Проверить, что какой-то результат равен не числу можно с помощью методов Double.isNan(<arg>) или Float.isNaN(<arg>), возвращающих значение типа boolean.

№61 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Приоритет операций

№62 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Вычисления с плавающей точкой Все вычисления, которые проводятся над числами с плавающей точкой следуют стандарту IEEE 754. В Java есть три специальных числа с плавающей точкой Положительная бесконечность Отрицательная бесконечность Не число В языке Java существуют константы Double.POSITIVE_INFINITY; Float.POSITIVE_INFINITY; Double.NEGATIVE_INFINITY; Float.NEGATIVE_INFINITY; Double.NaN; Float.NaN;

№63 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Вычисления с плавающей точкой. Example 14 Результат:

№64 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы управления Оператор if: Позволяет условное выполнение оператора или условный выбор двух операторов, выполняя один или другой, но не оба сразу.

№65 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы управления Циклы: Циклы выполняются, пока булевское выражение boolexp равно true. Оператор прерывания цикла break и оператор прерывания итерации цикла continue, можно использовать с меткой, для обеспечения выхода из вложенных циклов.

№66 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы управления break – применяется для выхода из цикла, оператора switch continue - применяется для перехода к следующей итерации цикла В языке Java расширились возможности оператора прерывания цикла break и оператора прерывания итерации цикла continue, которые можно использовать с меткой.

№67 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы управления Проверка условия для всех циклов выполняется только один раз за одну итерацию, для циклов for и while – перед итерацией, для цикла do/while – по окончании итерации. Цикл for следует использовать при необходимости выполнения алгоритма строго определенное количество раз. Цикл while используется в случае, когда неизвестно число итераций для достижения необходимого результата, например, поиск необходимого значения в массиве или коллекции. Этот цикл применяется для организации бесконечных циклов в виде while(true).

№68 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы управления Для цикла for не рекомендуется в цикле изменять индекс цикла. Условие завершения цикла должно быть очевидным, чтобы цикл не «сорвался» в бесконечный цикл. Для индексов следует применять осмысленные имена. Циклы не должны быть слишком длинными. Такой цикл претендует на выделение в отдельный метод. Вложенность циклов не должна превышать трех.

№69 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Операторы управления Оператор switch: Оператор switch передает управление одному из нескольких операторов в зависимости от значения выражения.

№70 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Instanceof Оператор instanceof возвращает значение true, если объект является экземпляром данного типа. Например, для иерархии наследования:

№71 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Instanceof Объект подкласса может быть использован всюду, где используется объект суперкласса Результатом действия оператора instanceof будет истина, если объект является объектом типа c с которым идет поверка или одного из его подклассов, но не наоборот.

№72 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Instanceof. Example 15

№73 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Instanceof. Example 15 Результат:

№74 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Ссылочные типы данных. Базовые элементы работы со строками. Создание переменной ссылочного типа: Для класса String можно использовать упрощенный синтаксис

№75 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Ссылочные типы данных. Базовые элементы работы со строками. Знак + применяется для объединения двух строк. Если в строковом выражении применяется нестроковый аргумент, то он преобразуется к строке автоматически. Чтобы сравнить на равенство две строки необходимо воспользоваться методом equals() Длина строки определяется с помощью метода length() - int len = str.length();

№76 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Ссылочные типы данных. Базовые элементы работы со строками. Example 16 Результат:

№77 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Ссылочные типы данных. Базовые элементы работы со строками Перевести строковое значение в величину типа int или double можно с помощью методов parseInt() и parseDouble() классов Integer и Double. Обратное преобразование возможно при использовании метода valueOf() класса String. Кроме того, любое значение можно преобразовать в строку путем конкатенации его (+) с пустой строкой (“”).

№78 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Ссылочные типы данных. Базовые элементы работы со строками. Example 17 Результат:

№79 слайд
Типы данных, переменные,
Содержание слайда: Типы данных, переменные, операторы. Ссылочные типы данных. Базовые элементы работы со строками. Example 18 Для преобразования целого числа в десятичную, двоичную, шестнадцатеричную и восьмеричную строки используются методы toString(), toBinaryString(), toHexString() и toOctalString().

№80 слайд
Простейшие классы и объекты
Содержание слайда: Простейшие классы и объекты

№81 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Определения Объект – некоторая КОНКРЕТНАЯ сущность моделируемой предметной области Класс – шаблон или АБСТРАКЦИЯ сущности предметной области

№82 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Определения Классом называется описание совокупности объектов с общими атрибутами, методами, отношениями и семантикой. Классы определяют структуру и поведение некоторого набора элементов предметной области, для которой разрабатывается программная модель. Каждый класс имеет свое имя, отличающее его от других классов, и относится к определенному пакету. Имя класса в пакете должно быть уникальным. Физически пакет представляет собой каталог, в который помещаются программные файлы, содержащие реализацию классов. Классы позволяют разбить поведение сложных систем на простое взаимодействие взаимосвязанных объектов.

№83 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Свойства и методы класса Свойства классов Уникальные характеристики, которые необходимы при моделировании предметной области ОБЪЕКТЫ различаются значениями свойств Свойства отражают состояние объекта Методы классов Метод отражает ПОВЕДЕНИЕ объектов Выполнение методов, как правило, меняет значение свойств Поведение объекта может меняться в зависимости от состояния

№84 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Свойства и методы класса Определение класса включает: Модификатор доступа Ключевое слово class Свойства класса Конструкторы Методы Статические свойства Статические методы

№85 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Свойства и методы класса Все функции определяются внутри классов и называются методами. Методы определяются только внутри класса. Указывается: Модификатор доступа Слово static Тип возвращаемого значения Аргументы Невозможно создать метод, не являющийся методом класса или объявить метод вне класса.

№86 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Свойства и методы класса Объявление класса имеет вид: [спецификаторы] class имя_класса [extends суперкласс] [implements список_интерфейсов]{ /*определение класса*/ } Создание объекта имеет вид: имя_класса имя_объекта= new конструктор_класса([аргументы]);

№87 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Свойства и методы класса. Блоки кода Блоки кода обрамляются в фигурные скобки “{“ “}” Охватывают определение класса Определения методов Логически связанные разделы кода

№88 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Атрибуты доступа Спецификатор класса может быть: public (класс доступен объектам данного пакета и вне пакета). final (класс не может иметь подклассов). abstract (класс содержит абстрактные методы, объекты такого класса могут создавать только подклассы). По умолчанию спецификатор доступа устанавливается в friendly (класс доступен в данном пакете). Данное слово при объявлении вообще не используется и не является ключевым словом языка, мы его используем для обозначения.

№89 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Конструкторы Конструктор – это метод, который автоматически вызывается при создании объекта класса и выполняет действия только по инициализации объекта; Конструктор имеет то же имя, что и класс; Вызывается не по имени, а только вместе с ключевым словом new при создании экземпляра класса; Конструктор не возвращает значение, но может иметь параметры и быть перегружаемым.

№90 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Конструкторы. Example 19

№91 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Конструкторы. Example 19

№92 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Пакеты Пакеты – это контейнеры классов, которые используются для разделения пространства имен классов. Пакет в Java создается включением в текст программы первым оператором ключевого слова package. package имя_пакета; package имя_пакета.имя_подпакета.имя_подпакета; Для хранения пакетов используются каталоги файловой системы.

№93 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Пакеты При компиляции поиск пакетов осуществляется в: рабочем каталоге используя параметр переменной среды CLASSPATH указывая местонахождение пакета параметром компилятора -classpath

№94 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Пакеты Пакеты регулируют права доступа к классам и подклассам. Сущности (интерфейсы, классы, методы, поля), помеченные ключевым словом public, могут использоваться любым классом. Закрытые сущности могут использоваться только определившим их классом. Если ни один модификатор доступа неуказан, то сущность (т.е. класс, метод или переменная) является доступной всем методам в том же самом пакете.

№95 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Пакеты Для подключения пакета используется ключевое слово import. import имя_пакета.имя_подпакета.*; import имя_пакета.имя_подпакета.имя_подпакета.имя_класса;

№96 слайд
Простейшие классы и объекты.
Содержание слайда: Простейшие классы и объекты. Пакеты. Example 20

№97 слайд
JaVa beans
Содержание слайда: JaVa beans

№98 слайд
JavaBeans. Определение
Содержание слайда: JavaBeans. Определение JavaBeans – гибкая, мощная и удобная технология разработки многократно-используемых программных компонент, называемых beans. C точки зрения ООП, компонент JavaBean – это классический самодостаточный объект, который, будучи написан один раз, может быть многократно использован при построении новых апплетов, сервлетов, полноценных приложений, а также других компонент JavaBean.

№99 слайд
JavaBeans. Определение
Содержание слайда: JavaBeans. Определение Отличие от других технологий заключается в том, что компонент JavaBean строится по определенным правилам, с использованием в некоторых ситуациях строго регламентированных интерфейсов и базовых классов. Java bean – многократно используемая компонента, состоящая из свойств (properties), методов (methods) и событий (events)

№100 слайд
JavaBeans. Свойства Bean
Содержание слайда: JavaBeans. Свойства Bean Свойства компоненты Bean – это дискретные, именованные атрибуты соответствующего объекта, которые могут оказывать влияние на режим его функционирования. В отличие от атрибутов обычного класса, свойства компоненты Bean должны задаваться вполне определенным образом: нежелательно объявлять какой-либо атрибут компоненты Bean как public. Наоборот, его следует декларировать как private, а сам класс дополнить двумя методами set и get.

№101 слайд
JavaBeans. Свойства Bean.
Содержание слайда: JavaBeans. Свойства Bean. Example 21

№102 слайд
JavaBeans. Свойства Bean
Содержание слайда: JavaBeans. Свойства Bean Следует заметить, что согласно спецификации Bean, аналогичные методы set и get необходимо использовать не только для атрибутов простого типа, таких как int или String, но и в более сложных ситуациях, например для внутренних массивов String[].

№103 слайд
JavaBeans. Свойства Bean.
Содержание слайда: JavaBeans. Свойства Bean. Example 22

№104 слайд
JavaBeans. Свойства Bean.
Содержание слайда: JavaBeans. Свойства Bean. Example 23 Атрибуту типа boolean в классе Bean должны соответствовать несколько иные методы: is и set

№105 слайд
JavaBeans. Example
Содержание слайда: JavaBeans. Example 24

№106 слайд
JavaBeans. Использование
Содержание слайда: JavaBeans. Использование Может показаться, что нет никакой разницы, предоставляем ли мы доступ извне непосредственно к свойству компоненты Bean, или же для достижения того же самого результата используем методы set и get. Принципиально важное отличие заключается в том, что в последнем случае мы получаем возможность контролировать все изменения этого свойства. Например, мы можем связать с методом set определенный программный код, который будет автоматически оповещать другие компоненты приложения, если кто-то попытается изменить значение этого свойства.

№107 слайд
JavaBeans. Синхронизация
Содержание слайда: JavaBeans. Синхронизация Заметим, что реализуя тот или иной метод, разработчик должен учитывать, что создаваемый им компонент Bean должен будет функционировать в программной среде со многими параллельными потоками (threads), т.е. в условиях, когда сразу от нескольких потоков могут поступить запросы на доступ к тем или иным методам или атрибутам объекта. Наиболее тривиальный способ синхронизации таких запросов заключается в том, чтобы пометить все методы класса Bean директивой synchronized.

№108 слайд
массивы
Содержание слайда: массивы

№109 слайд
Массивы. Определения Для
Содержание слайда: Массивы. Определения Для хранения нескольких однотипных значений используется ссылочный тип – массив Массивы элементов базовых типов состоят из значений, проиндексированных начиная с нуля. Все массивы в языке Java являются динамическими, поэтому для создания массива требуется выделение памяти с помощью оператора new или инициализации.

№110 слайд
Массивы. Определения Значения
Содержание слайда: Массивы. Определения Значения элементов неинициализированных массивов, для которых выделена память, устанавливается в нуль. Многомерных массивов в Java не существует, но можно объявлять массивы массивов. Для задания начальных значений массивов существует специальная форма инициализатора.

№111 слайд
Массивы. Определения Массивы
Содержание слайда: Массивы. Определения Массивы объектов в действительности представляют собой массивы ссылок, проинициализированных по умолчанию значением null. Все массивы хранятся в куче (heap), одной из подобластей памяти, выделенной системой для работы виртуальной машины. Определить общий объем памяти и объем свободной памяти, можно с помощью методов totalMemory() и freeMemory() класса Runtime.

№112 слайд
Массивы. Объявление и
Содержание слайда: Массивы. Объявление и инициализация. Example 25 Имена массивов являются ссылками. Для объявления ссылки на массив можно записать пустые квадратные скобки после имени типа, например: int a[]. Аналогичный результат получится при записи int[] a.

№113 слайд
Массивы. Объявление и
Содержание слайда: Массивы. Объявление и инициализация. Example 25

№114 слайд
Массивы. Массив массивов
Содержание слайда: Массивы. Массив массивов

№115 слайд
Массивы. Массив массивов
Содержание слайда: Массивы. Массив массивов Каждый из массивов может иметь отличную от других длину. Первый индекс указывает на порядковый номер массива, например arr[2][0] указывает на первый элемент третьего массива, а именно на значение 4.

№116 слайд
Массивы. Работа с массивами
Содержание слайда: Массивы. Работа с массивами Члены объектов-массивов: public final int length это поле содержит длину массива public Object clone() – создает копию массива + все методы класса Object. Любой массив можно привести к классу Object или к массиву совместимого типа.

№117 слайд
Массивы. Работа с массивами.
Содержание слайда: Массивы. Работа с массивами. Example 26

№118 слайд
Массивы. Работа с массивами.
Содержание слайда: Массивы. Работа с массивами. Example 27

№119 слайд
Массивы. Работа с массивами.
Содержание слайда: Массивы. Работа с массивами. Example 27

№120 слайд
Массивы. Ошибки времени
Содержание слайда: Массивы. Ошибки времени выполнения. Example 28 Обращение к несуществующему индексу массива отслеживается виртуальной машиной во время исполнения кода:

№121 слайд
Массивы. Ошибки времени
Содержание слайда: Массивы. Ошибки времени выполнения. Example 29 Попытка поместить в массив неподходящий элемент пресекается виртуальной машиной:

№122 слайд
Code conventions
Содержание слайда: Code conventions

№123 слайд
Code conventions. Code
Содержание слайда: Code conventions. Code conventions for Java Programming Содержание: имена файлов, организация структуры файлов, структурированное расположение текста, комментарии, объявления, операторы, пробельные символы, соглашение об именовании, практики программирования. 80% стоимости программного обеспечения уходит на поддержку. Едва ли программное обеспечение весь свой жизненный цикл будет поддерживаться автором.. Code conventions улучшает удобочитаемость программного кода, позволяя понять новый код долее быстро и полностью. http://www.oracle.com/technetwork/java/codeconvtoc-136057.html

№124 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices Объявляйте локальные переменные сразу перед использованием Определяется их область видимости. Уменьшается вероятность ошибок и неудобочитаемости. Поля необходимо объявлять как private Декларирование полей как public в большинстве случаев некорректно, оно не защищает пользователя класса от изменений в реализации класса. Объявляйте поля как private. Если пользователю необходимо получить доступ к этим полям, следует предусмотреть set и get методы.

№125 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices При объявлении разделяйте public и private члены класса Это общераспространенная практика, разделения членов класса согласно их области видимости (public, private, protected). Данные с каким атрибутом доступа будут располагаться первыми зависит от программиста. Используйте javadoc Javadoc – это мощный инструмент, который необходимо использовать.

№126 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices С осторожностью используйте System.Exit(0) с многопоточными приложениями. Нормальный способ завершения программы должен завершать работу всех используемых потоков. Используйте интерфейсы для определения констант. Создание класса для констант является оправданным, только если это широко используемые константы.

№127 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices Проверяйте аргументы методов Первые строки методов обычно проверяют корректность переданных параметров. Идея состоит в том, чтобы как можно быстрее сгенерировать сообщение об ошибке в случае неудачи. Это особенно важно для конструкторов. Дополнительные пробелы в списке аргументов Дополнительные пробелы в списке аргументов повышают читабельность кода – как (this ) вместо (that).

№128 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices Применяйте Testing Framework Используйте testing framework чтобы убедиться, что класс выполняет контракт Используйте массивы нулевой длины вместо null Когда метод возвращает массив, который может быть пустым, не следует возвращать null. Это позволяет не проверять возвращаемое значение на null.

№129 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices Избегайте пустых блоков catch В этом случае когда происходит исключение, то ничего не происходит, и программа завершает свою работу по непонятной причине. Применяйте оператор throws Не следует использовать базовый класс исключения вместо нескольких его производных, в этом случае теряется важная информация об исключении.

№130 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices Правильно выбирайте используемые коллекции Документация Sun определяет ArrayList, HashMap и HashSet как предпочтительные для применения. Их производительность выше. Работайте с коллекциями без использование индексов Применяете for-each или итераторы. Индексы всегда остаются одной из главных причин ошибок.

№131 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices Структура source-файла public-класс или интерфейс всегда должен быть объявлен первым в файле. если есть ассоциированные с public- классом private- классы или интерфейсы, их можно разместить в одном файле.

№132 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices Declarations. Длина строк кода Не используйте строки длиной более 80 символов. Объявление переменных Не присваивайте одинаковые значения нескольким переменных одним оператором. fooBar.fChar = barFoo.lchar = ‘c’;c// AVOID!!! При декларировании переменных объявляйте по одной переменной в строке кода Такое объявление позволяет писать понятные комментарии.

№133 слайд
Code conventions. Best
Содержание слайда: Code conventions. Best Practices Statements. Каждая строка кода должна содержать только один оператор. Example: argv++; // Correct argc-; // Correct argv++; argc-; II AVOID!

№134 слайд
Code conventions. Соглашение
Содержание слайда: Code conventions. Соглашение об именовании Имена файлов Customer.java Person.class Имена пакетов java.util javax.swing Имена классов Customer Person

№135 слайд
Code conventions. Соглашение
Содержание слайда: Code conventions. Соглашение об именовании Имена свойств класса firstName Id Имена методов getName isAlive Имена констант SQUARE_SIZE Также могут использоваться цифры 1..9, _, $

№136 слайд
Параметризованные классы
Содержание слайда: Параметризованные классы

№137 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Назначение и синтаксис С помощью шаблонов можно создавать параметризованные (родовые, generic) классы и методы, что позволяет использовать более строгую типизацию, например при работе с коллекциями. Пример класса-шаблона с двумя параметрами: Здесь T1, Т2 – фиктивные типы, которые используются при объявлении атрибутов класса. Компилятор заменит все фиктивные типы на реальные и создаст соответствующий им объект. Объект класса Message можно создать, например, следующим образом:

№138 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Назначение и синтаксис. Example 30

№139 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Назначение и синтаксис. Example 30 package _java._se._01._generics; public class OptionalDemo { public static void main(String[] args) { // параметризация типом Integer Optional<Integer> ob1 = new Optional<Integer>(); ob1.setValue(1); // ob1.setValue("2");// ошибка компиляции: недопустимый тип int v1 = ob1.getValue(); System.out.println(v1); // параметризация типом String Optional<String> ob2 = new Optional<String>("Java"); String v2 = ob2.getValue(); System.out.println(v2); // ob1 = ob2; //ошибка компиляции – параметризация не ковариантна

№140 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Назначение и синтаксис. Example 30 // параметризация по умолчанию – Object Optional ob3 = new Optional(); System.out.println(ob3.getValue()); ob3.setValue("Java SE 6"); System.out.println(ob3.toString());/* выводится тип объекта, а не тип параметризации */ b3.setValue(71); System.out.println(ob3.toString()); ob3.setValue(null); } }

№141 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Использование extends Объявление generic-типа в виде <T>, несмотря на возможность использовать любой тип в качестве параметра, ограничивает область применения разрабатываемого класса. Переменные такого типа могут вызывать только методы класса Object. Доступ к другим методам ограничивает компилятор, предупреждая возможные варианты возникновения ошибок. Чтобы расширить возможности параметризованных членов класса, можно ввести ограничения на используемые типы при помощи следующего объявления класса:

№142 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Использование extends Такая запись говорит о том, что в качестве типа Т разрешено применять только классы, являющиеся наследниками (суперклассами) класса Tип, и соответственно появляется возможность вызова методов ограничивающих (bound) типов.

№143 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Метасимволы Часто возникает необходимость в метод параметризованного класса одного допустимого типа передать объект этого же класса, но параметризованного другим типом. В этом случае при определении метода следует применить метасимвол “?”. <?> Метасимвол также может использоваться с ограничением extends для передаваемого типа. <? extends Number>

№144 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Метасимволы. Example 31

№145 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Метасимволы. Example 31

№146 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Метасимволы Метод sameAny(Mark<?> ob) может принимать объекты типа Mark, инициализированные любым из допустимых для этого класса типов, в то время как метод с параметром Mark<T> мог бы принимать объекты с инициализацией того же типа, что и вызывающий метод объект.

№147 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Параметризованные методы Параметризованный (generic) метод определяет базовый набор операций, которые будут применяться к разным типам данных, получаемых методом в качестве параметра. <T extends Тип> Тип method(T arg) {} <T> Тип method(T arg) {} Описание типа должно находиться перед возвращаемым типом. Запись первого вида означает, что в метод можно передавать объекты, типы которых являются подклассами класса, указанного после extends. Второй способ объявления метода никаких ограничений на передаваемый тип не ставит.

№148 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Параметризованные методы. Example 32

№149 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Ограничения на использование Нельзя явно вызвать конструктор параметризованного класса, так как компилятор не знает, какой конструктор может быть вызван и какой объем памяти должен быть выделен при создании объекта, Параметризованные поля не могут быть статическими, статические методы не могут иметь параметризованные поля и обращаться к ним также запрещено.

№150 слайд
Параметризованные классы.
Содержание слайда: Параметризованные классы. Применение Параметризованные методы применяются когда необходимо разработать базовый набор операций, который будет работать с различными типами данных. Описание типа всегда находится перед возвращаемым типом. Параметризованные методы могут размещаться как в обычных, так и в параметризованных классах. Параметр метода может не иметь никакого отношения к параметру класса. Метасимволы применимы и к generic-методам.

№151 слайд
Перечисления enums
Содержание слайда: Перечисления (enums)

№152 слайд
Перечисления. Синтаксис
Содержание слайда: Перечисления. Синтаксис Examples: dayOfWeek: SUNDAY, MONDAY, TUESDAY, … month: JAN, FEB, MAR, APR, … gender: MALE, FEMALE title: MR, MRS, MS, DR appletState: READY, RUNNING, BLOCKED, DEAD

№153 слайд
Перечисления. Определения В
Содержание слайда: Перечисления. Определения В отличие от статических констант, предоставляют типизированный, безопасный способ задания фиксированных наборов значений Являются классами специального вида, не могут иметь наследников, сами в свою очередь наследуются от java.lang.Enum и реализуют java.lang.Comparable (следовательно, могут быть сортированы) и java.io.Serializable.

№154 слайд
Перечисления. Определения Не
Содержание слайда: Перечисления. Определения Не могут быть абстрактными и содержать абстрактные методы (кроме случая, когда каждый объект перечисления реализовывает абстрактный метод), но могут реализовывать интерфейсы. Enums переопределяют toString() and определяют valueOf()

№155 слайд
Перечисления. Создание
Содержание слайда: Перечисления. Создание объектов перечисления Экземпляры объектов перечисления нельзя создать с помощью new, каждый объект перечисления уникален, создается при загрузке перечисления в виртуальную машину, поэтому допустимо сравнение ссылок для объектов перечислений, можно использовать switch Как и обычные классы могут реализовывать поведение, содержать вложенные классы. Enums по умолчанию public, static и final

№156 слайд
Перечисления. Создание
Содержание слайда: Перечисления. Создание объектов перечисления. Example 33

№157 слайд
Перечисления. Методы
Содержание слайда: Перечисления. Методы перечисления Каждый класс перечисления неявно содержит следующие методы: static enumType[] values() – возвращает массив, содержащий все элементы перечисления в порядке их объявления; static T valueOf(Class<T> enumType, String arg) – возвращает элемент перечисления, соответствующий передаваемому типу и значению передаваемой строки; static enumType valueOf(String arg) – возвращает элемент пере­числения, соответствующий значению передаваемой строки; (статические методы, выбрасывает IllegalArgumentException если нет элемента с указанным именем)

№158 слайд
Перечисления. Методы
Содержание слайда: Перечисления. Методы перечисления Каждый класс перечисления неявно содержит следующие методы: int ordinal() – возвращает позицию элемента перечисления. String toString() boolean equals(Object other)

№159 слайд
Перечисления. Методы
Содержание слайда: Перечисления. Методы перечисления. Example 34

№160 слайд
Перечисления. Методы
Содержание слайда: Перечисления. Методы перечисления. Example 34

№161 слайд
Перечисления. Конструкторы и
Содержание слайда: Перечисления. Конструкторы и анонимные классы для перечисления. Example 35 Класс перечисления может иметь конструктор (private либо package), который вызывается для каждого элемента при его декларации. Отдельные элементы перечисления могут реализовывать свое собственное поведение.

№162 слайд
Перечисления. Сравнение
Содержание слайда: Перечисления. Сравнение переменных перечисления. Example 36 На равенство переменные перечислимого типа можно сравнить с помощью операции == в операторе if, или с помощью оператора switch.

№163 слайд
Перечисления. Сравнение
Содержание слайда: Перечисления. Сравнение переменных перечисления. Example 36

№164 слайд
Внутренние классы
Содержание слайда: Внутренние классы

№165 слайд
Внутренние классы.
Содержание слайда: Внутренние классы. Определение В Java можно объявлять классы внутри других классов и даже внутри методов. Они делятся на внутренние нестатические, сложенные статические и анонимные классы. Такая возможность используется, если класс более нигде не используется, кроме как в том, в который он вложен. Более того, использование внутренних классов позволяет содавать простые и понятные программы, управляющие событиями.

№166 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 37 Методы внутреннего класса имеют прямой доступ ко всем полям и методам внешнего класса.

№167 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические) Доступ к элементам внутреннего класса возможен только из внешнего класса через объект внутреннего класса. То есть, чтобы класс Outer мог вызвать какой-либо метод класса Inner в классе Outer необходимо создать объект класса Inner и вызывать методы уже через этот объект.

№168 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 38

№169 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 38

№170 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические) Объект внутреннего класса имеет ссылку на объект своего внешнего класса. Ссылка эта неявная. Предположим что имя это ссылки ref_outer (естественно, никакой реальной ссылки с таким именем по умолчанию во внутреннем классе не предусматривается), тогда любой доступ к элементам внешнего класса из внутреннего выглядит следующим образом. Именно эта неявная ссылка и позволяет методам внутреннего класса иметь прямой доступ к полям и методам внешнего класса.

№171 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 39

№172 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические) Внутренние классы не могут содержать static-полей, кроме final static

№173 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 40

№174 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 41 Доступ к таким полям можно получить извне класса, используя конструкцию   имя_внешнего_класса.имя_внутреннего класса.имя_статической_переменной

№175 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 42 Также доступ к переменной типа final static возможен во внешнем классе через имя внутреннего класса:

№176 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 43 Внутренние классы могут быть производными от других классов. Внутренние классы могут быть базовыми

№177 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 43

№178 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 43

№179 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 44 Внутренние классы могут реализовывать интерфейсы

№180 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 45 Внутренние классы могут быть объявлены с параметрами final, abstract, public, protected, private

№181 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 46 Если необходимо создать объект внутреннего класса где-нибудь, кроме внешнего статического метода класса, то нужно определить тип объекта как имя_внешнего_класса.имя_внутреннего_класса

№182 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 46

№183 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические) Внутренний класс может быть объявлен внутри метода или логического блока внешнего класса; видимость класса регулируется видимостью того блока, в котором он объявлен; однако класс сохраняет доступ ко всем полям и методам внешнего класса, а также константам, объявленным в текущем блоке кода.

№184 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 47

№185 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 48 Локальные внутренние классы не объявляются с помощью модификаторов доступа.

№186 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические) Правила для внутренних классов. 1) ссылка на внешний класс имеет вид   имя_внешнего_класса.this   Для получения доступа из внутреннего класса к экземпляру его внешнего класса необходимо в ссылке указать имя класса и ключевое слово this, поставив между ними точку (например, OuterClass.this). Ключевое слово this обеспечивает доступ к потенциально спрятанным методам и полям, в которых внутренние и внешние классы используют метод или переменную с одинаковыми именами.

№187 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические) Например, в следующем определении класса и у внешнего и у внутреннего классов присутствует переменная count. Для получения доступа к переменной внешнего класса, необходимо в ссылке на переменную перед ее именем приписать префикс this и имя внешнего класса.

№188 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические). Example 49 package _java._se._01._innerclasses.inner.outer12; class OuterClass { int count = 0; class InnerClass { int count = 10000; public void display() { System.out.println("Outer: " + OuterClass.this.count); System.out.println("Inner: " + count); } } }

№189 слайд
Внутренние классы. Inner
Содержание слайда: Внутренние классы. Inner (нестатические) Правила для внутренних классов 2) конструктор внутреннего класса можно создать явным способом   ссылка_на_внешний_объект.new конструктор_внутренего_класса([параметры]);

№190 слайд
Вложенные классы. Nested
Содержание слайда: Вложенные классы. Nested (статические). Example 50 Статический вложенный класс для доступа к нестатическим членам и методам внешнего класса должен создавать объект внешнего класса

№191 слайд
Вложенные классы. Nested
Содержание слайда: Вложенные классы. Nested (статические). Example 51 Вложенный класс имеет доступ к статическим полям и методам внешнего класса

№192 слайд
Вложенные классы. Nested
Содержание слайда: Вложенные классы. Nested (статические). Example 52 Статический метод вложенного класса вызывается при указании полного относительного пути к нему

№193 слайд
Вложенные классы. Nested
Содержание слайда: Вложенные классы. Nested (статические). Example 53 Подкласс вложенного класса не наследует возможность доступа к членам внешнего класса, которым наделен его суперкласс

№194 слайд
Вложенные классы. Nested
Содержание слайда: Вложенные классы. Nested (статические). Example 53

№195 слайд
Вложенные классы. Nested
Содержание слайда: Вложенные классы. Nested (статические). Example 54 Класс, вложенный в интерфейс, статический по умолчанию

№196 слайд
Вложенные классы. Nested
Содержание слайда: Вложенные классы. Nested (статические). Example 55 Вложенный класс может быть базовым, производным, реализующим интерфейсы

№197 слайд
Вложенные классы. Nested
Содержание слайда: Вложенные классы. Nested (статические). Example 55

№198 слайд
Анонимные классы. Anonymous
Содержание слайда: Анонимные классы. Anonymous Анонимный класс расширяет другой класс или реализует внешний интерфейс при объявлении одного единственного объекта; остальным будет соответствовать реализация, определенная в самом классе

№199 слайд
Анонимные классы. Anonymous.
Содержание слайда: Анонимные классы. Anonymous. Example 56

№200 слайд
Анонимные классы. Anonymous.
Содержание слайда: Анонимные классы. Anonymous. Example 57 Объявление анонимного класса выполняется одновременно с созданием его объекта с помощью операции new

№201 слайд
Анонимные классы. Anonymous
Содержание слайда: Анонимные классы. Anonymous Конструкторы анонимных классов ни определить, ни переопределить нельзя

№202 слайд
Анонимные классы. Anonymous.
Содержание слайда: Анонимные классы. Anonymous. Example 58

№203 слайд
Анонимные классы. Anonymous.
Содержание слайда: Анонимные классы. Anonymous. Example 59 Анонимные классы допускают вложенность друг в друга

№204 слайд
Анонимные классы. Anonymous.
Содержание слайда: Анонимные классы. Anonymous. Example 59

№205 слайд
Анонимные классы. Anonymous.
Содержание слайда: Анонимные классы. Anonymous. Example 60 Объявление анонимного класса в перечислении отличается от простого анонимного класса, поскольку инициализация всех элементов происходит при первом обращении к типу

№206 слайд
Анонимные классы. Anonymous.
Содержание слайда: Анонимные классы. Anonymous. Example 60

№207 слайд
Документирование кода javadoc
Содержание слайда: Документирование кода (javadoc)

№208 слайд
Javadoc. Основание для
Содержание слайда: Javadoc. Основание для ведения документации Возобновление работы над проектом после продолжительного перерыва Переход проекта от одного человека (группы) к другому человеку (группе) Опубликование проекта для Open Source сообщества Совместная работа большой группы людей над одним проектом

№209 слайд
Javadoc. Требования к
Содержание слайда: Javadoc. Требования к документам Не документировать очевидные вещи (setter’ы и getter’ы, циклы по массивам и листам, вывод логов и прочее)

№210 слайд
Javadoc. Требования к
Содержание слайда: Javadoc. Требования к документам Поддерживать документацию в актуальном состоянии

№211 слайд
Javadoc. Требования к
Содержание слайда: Javadoc. Требования к документам Описывать входящие параметры, если нужно

№212 слайд
Javadoc. Синтаксис
Содержание слайда: Javadoc. Синтаксис javadoc-комментария Обыкновенный комментарий /* Calculates the factorial */ int factorial(int x) { … Javadoc-комментарий (он может включать в себя HTML тэги и специальные javadoc тэги, которые позволяют включать дополнительную информацию и ссылки) /** Calculates the factorial */ public double factorial(int x) {

№213 слайд
Javadoc. Структура
Содержание слайда: Javadoc. Структура javadoc-комментария Структура каждого javadoc-комментария такова: первая строчка, которая попадает в краткое описание класса (отделяется точкой и пустой строкой); основной текст, который вместе с HTML тэгами копируется в основную документацию; входящие параметры (если есть); выбрасываемые исключения (если есть); возвращаемое значение (если есть); служебные javadoc-тэги.

№214 слайд
Javadoc. Структура
Содержание слайда: Javadoc. Структура javadoc-комментария

№215 слайд
Javadoc. Типы тегов Блочные
Содержание слайда: Javadoc. Типы тегов Блочные теги Начинается с @tag и оканчивается с началом следующего тега Пример @param x a value Строчные теги Ограничены фигурными скобками Могут встречаться в теле других тегов Пример Use a {@link java.lang.Math#log} for positive numbers.

№216 слайд
Javadoc. Тег param Описывает
Содержание слайда: Javadoc. Тег @param Описывает параметров методов и конструкторов Синтаксис @param <имя параметра> <описание> Пример @param x a value

№217 слайд
Javadoc. Тег return Описывает
Содержание слайда: Javadoc. Тег @return Описывает возвращаемое значение метода Синтаксис @return <описание> Пример @return the factorial of <code>x</code>

№218 слайд
Javadoc. Тег throws Описывает
Содержание слайда: Javadoc. Тег @throws Описывает исключения, генерируемые методом/конструктором Синтаксис @throws <класс исключения> <описание> Пример @throws IllegalArgumentException if <code>x</code> is less than zero

№219 слайд
Javadoc. Тэг see Ссылка на
Содержание слайда: Javadoc. Тэг @see Ссылка на дополнительную информацию Синтаксис @see <имя класса> @see [<имя класса>]#<имя члена> @see "<Текст ссылки>" Примеры @see Math#log10 @see "The Java Programming language Specifiecation, p. 142"

№220 слайд
Javadoc. Тэг version Текущая
Содержание слайда: Javadoc. Тэг @version Текущая версия класса/пакета Синтаксис @version <описание версии> Пример @version 5.0

№221 слайд
Javadoc. Тег since Версия в
Содержание слайда: Javadoc. Тег @since Версия в которой была добавлена описываемая сущность Синтаксис @since <описание версии> Пример @since 5.0

№222 слайд
Javadoc. Тэг deprecated
Содержание слайда: Javadoc. Тэг @deprecated Помечает возможности, которые не следует использовать Синтаксис @deprecated <комментарий> Пример @deprecated replaced by {@link #setVisible}

№223 слайд
Javadoc. Тэг author Описывает
Содержание слайда: Javadoc. Тэг @author Описывает автора класса/пакета Синтаксис @author <имя автора> Пример @author Josh Bloch @author Neal Gafter

№224 слайд
Javadoc. Тэг link Ссылка на
Содержание слайда: Javadoc. Тэг {@link} Ссылка на другую сущность Синтаксис {@link <класс>#<член> <текст>} Примеры {@link java.lang.Math#Log10 Decimal Logarithm} {@link Math} {@link Math#Log10} {@link #factorial() calculates factorial}

№225 слайд
Javadoc. Тэг docRoot
Содержание слайда: Javadoc. Тэг {@docRoot} Заменяется на ссылку на корень документации Синтаксис {@docRoot} Пример <a href="{@docRoot}/copyright.html">Copyright</a>

№226 слайд
Javadoc. Тэг value Заменяется
Содержание слайда: Javadoc. Тэг {@value} Заменяется на значение поля Синтаксис {@value <имя класса>#<имя поля>} Пример Default value is {@value #DEFAULT_TIME}

№227 слайд
Javadoc. Тэг code
Содержание слайда: Javadoc. Тэг {@code} Предназначен для вставки фрагментов кода Внутри тэга HTML не распознается Синтаксис {@code <код>} Пример Is equivalent of {@code Math.max(a, b)}.

№228 слайд
Javadoc. Описание пакета Есть
Содержание слайда: Javadoc. Описание пакета Есть возможность применять комментарии для пакетов. Для этого необходимо поместить файл package.html в пакет с исходными текстами. Данный файл должен быть обычным HTML-файлом с тегом <body>. Первая строчка файла до точки идет в краткое описание пакета, а полное идет вниз – под список всех классов и исключений. Этот функционал позволяет описать что-то, что невозможно описать с помощью конкретных классов.

№229 слайд
Javadoc. Применение тегов
Содержание слайда: Javadoc. Применение тегов

№230 слайд
Javadoc. Наследование Javadoc
Содержание слайда: Javadoc. Наследование Javadoc Если какая-то часть информации о методе не указана, то описание копируется у ближайшего предка. Копируемая информация: Описание @param @returns @throws

№231 слайд
Javadoc. Компиляция Javadoc
Содержание слайда: Javadoc. Компиляция Javadoc Инструмент Javadoc Применение javadoc <опции> <список пакетов> <список файлов> Пример javadoc JavadocExample1.java

№232 слайд
Javadoc. Основные опции
Содержание слайда: Javadoc. Основные опции Javadoc

№233 слайд
Javadoc. Example
Содержание слайда: Javadoc. Example 61

№234 слайд
Javadoc. Example Произвести
Содержание слайда: Javadoc. Example 61 /** * Произвести запись нового объекта. * * Произвести запись нового объекта. Тип для сохранения может быть * подклассом List (для реализации возможности работы с несколькими * объектами) или единичным объектом. В случае если произошла какая-либо * ошибка - выбрасывается исключение. В данном случае с базой не происходит * никаких изменений и ни один объект не был затрагивается предполагаемой * операцией. Конкретный тип ошибки можно определить проверкой конкретного * возвращённого исключения. * @param object * сохраняемый объект/объекты. * @return сохраненный объект/объекты * @throws XmlMagnetException ошибка в процессе парсинга XML * @throws EntityManagerException ошибка связанная с другой работой клиента */ public Object insert(Object object) throws XmlMagnetException, EntityManagerException { return new Object(); } }

№235 слайд
Javadoc. Example
Содержание слайда: Javadoc. Example 61

№236 слайд
Ihar Blinou, PhD Java.SE.
Содержание слайда: Ihar Blinou, PhD Java.SE.01 Java Fundamentals

Скачать все slide презентации Java. SE. 01. Java fundamentals. Введение в язык java. Типы данных, переменные, операторы. Простейшие классы и объекты одним архивом: