Лекции (989962), страница 52

Файл №989962 Лекции (Лекции) 52 страницаЛекции (989962) страница 522015-08-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 52)

Блоки{ } используются в программах на Java для обозначения начала и конца любой конструкции или участкакода (например, конструкции IF..ELSE, цикла FOR и т.д.). Каждый оператор программы на Java внутрискобок { }, т.е. внутри описания класса или метода должна заканчиваться на точку с запятой ";".Конструкция /* */ означает начало и конец комментариев. Комментарии могут добавляться и при помощисимволов // , которые означают, что, начиная с этого места и до конца строки, идет комментарий.Необходимо также помнить, что в Java различаются маленькие и большие буквы, так что MyPlan – это не тоже самое, что и myPlan.Значение модификаторов доступа класса приведено ниже:ЗначениеОписаниене указано Класс доступен только для объектов, находящихся в том же пакете.publicКласс доступен для всех объектов.

Класс public должен обязательно содержаться в файле,имеющем такое же название, что и имя класса.Спецификаторы класса могут быть следующими:ЗначениеОписаниеfinalЗапрещено создание подклассов, на основании этого класса. Используется по соображениямбезопасности, чтобы, например, нельзя было подменить менеджер безопасности, создав на егооснове собственный объект и переопределив методы объекта.abstractАбстрактный класс (хотя бы один метод объявлен, но не описан).* Спецификаторы final и abstract несовместимы, т.е. класс не может быть одновременно final и abstract.Описание класса – это просто описание свойств и методов объекта.

Для того, чтобы объектом можно былопользоваться, необходимо создать экземпляр класса, т.е. создать объект, на основании имеющегося описания. Об этом будет сказано ниже, а сейчас рассмотрим, как описываются свойства и методы класса.8.2. Типы данных, свойства класса, модификаторы доступа свойств и методов, массивы.В Java используются следующие типы данных:ТипОписаниеbooleanbyteshortcharintlongfloatdoubleИмеет значения true или false (ИСТИНА или ЛОЖЬ).8-бит целое число со знаком в диапазоне от -128 до 12716-бит целое число со знаком в диапазоне от –32 768 до 32 76716-бит Unicode-символы или цифровые значения от 0 до 65535.32-бит целое число со знаком в диапазоне от –2 147 483 648 до 2 147 483 64764-бит целое число в диапазоне от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807,причем такая точность сохраняется на любом компьютере, независимо от платформы.32-бит число с плавающей точкой обычной точности (≈±1039)64-бит число с плавающей точкой двойной точности (≈±10317 )StringСтроковая константа.

После объявления строки ее содержимое нельзя изменять.StringBufferСтроковый буфер. Позволяет изменять содержимое строки.* Внимание! Регистр символов ВАЖЕН. Неверно: "Int", "string". Верно: "int", "String". Ляхевич А.Г., 2000 - 2002 годОписание свойства (переменной) происходит следующим образом:Синтаксис:модификатор_доступа спецификаторы тип_данных имя_свойства = первоначальное_значение ;Примеры:1) public int primer = 100;// Создается public свойство с именем primer, типа int, и значением 100.2) private static byte primer2, primer3, primer4; // Описаны три свойства, типа byte.Модификаторы доступа свойства совпадают с модификаторами доступа методов и означаютследующее (версия языка Java2):В рамках одного пакетаИз других пакетовМодификатордоступанаследованиедоступнаследованиедоступне указандаданетнетpublicдадададаprotectedдададанетprivateнетнетнетнетЗдесь "наследование" означает возможность порождать от этого класса другие классы, наследуя егосвойства и методы (в порожденных классах их не надо заново описывать), а "доступ" означает возможностьсоздавать экземпляр класса, на основании этого класса.Одновременно с модификаторами доступа, возможно использование спецификаторов свойств:ЗначениеОписаниеfinalЗадает константу (значение переменной не меняется в процессе выполнения программы).Первоначальные значения всех свойств final необходимо определить при их объявлении:final int Primer = 5;staticМодификатор static делает свойство (переменную) класса статическим.

Статическое свойство –это свойство, принадлежащее не экземплярам класса, а самому классу. При создании экземпляров класса, каждый экземпляр получает свою "независимую копию" всех не статических свойстви методов. В разных экземплярах класса, не статические свойства и методы могут иметь разныезначения. Статические свойства и методы принадлежат не экземплярам класса, а самому классу,поэтому, при создании экземпляров класса, экземпляры не получают "копии" статическихсвойств и методов, а, следовательно, значения статических свойств будут одинаковы для всехэкземпляров класса. Доступ к статическим свойствам происходит либо через имя экземпляровкласса (изменение статического свойства в любом экземпляре класса приведет к его синхронному изменению для остальных экземпляров класса), либо через имя самого класса (можнополучить доступ к статическим свойствам, не создавая ни одного экземпляра класса).

Пояснимсказанное на примере. Пусть существует класс "Лифт", в котором описаны два свойства:"напряжение" и "этаж", причем свойство "напряжение" имеет модификатор static. Пусть наосновании класса "Лифт", создано два экземпляра класса (два объекта): "Левый_лифт" и"Правый_лифт". Теперь, если перерубить силовой кабель, то оба лифта будут одновременнообесточены, но остановятся на разных этажах: Лифт.напряжение = 0, Левый_лифт.напряжение= 0, Правый_лифт.напряжение = 0 – общее статическое свойство для всех лифтов, однакосвойства Левый_лифт.этаж и Правый_лифт.этаж будут различаться.* Переменная может быть одновременно static и final.Свойство может быть описано, как на уровне класса (глобальная переменная), так и на уровне метода.Свойство уровня класса описывается вне тела методов и существует, пока существует экземпляр класса. Всеметоды класса могут обращаться к такому свойству.

Свойство уровня метода описывается внутри самогометода и существует только пока выполняется метод. Обращаться к нему из других методов нельзя. Нижеприведен пример, в котором свойство bigBrother описано на уровне класса, а свойство smallBrother описанона уровне метода, с именем Metod. Пример:Class Primer {long bigBrother;// Свойство описано на уровне классаvoid Metod ( ) {short smallBrother;/* Свойство описано на уровне метода */ } }Массивы:Индексация в массиве начинается с 0. Индекс имеет тип "int". Таким образом, команда Massiv [ 3 ] [ 3 ] = 4;присваивает значение элементу массива, находящемся в 4-ой строке и 4-ом столбце.Объявление массива с заданием первоначальных значений:Синтаксис: модификатор_доступа тип_данных имя_массива [ ] = {значение1, значение2, значениеN};Пример:int Massiv [ ] = {123,17,29,15 };// одномерный массив Ляхевич А.Г., 2000 - 2002 годpublic long Massiv [ ] [ ] = { {123,17,29,15 }, {17, 12, 3} }; // двумерный массивОбъявление массива, с последующим его созданием:Синтаксис: модификатор_доступа тип_данных имя_массива [ ];имя_массива = new тип_данных [ число_элементов ];Пример:private int Massiv [ ];// одномерный массивMassiv = new int [ 4 ];long Massiv [ ] [ ];// двумерный массивMassiv = new long [ 4 ] [ 3 ];Объявление массива, одновременно с его созданием:Синтаксис: модификатор_доступа тип_данных имя_массива [ ] = new тип_данных [ число_элементов ];Пример:int Massiv [ ] = new int [ 4 ];// одномерный массивprivate protected long Massiv [ ] [ ] = new long [ 4 ] [ 3 ];// двумерный массив8.3.

Методы класса, методы доступа в классах, конструкторы и деструкторы класса.Объявление методаСинтаксис:модификатор_доступа спецификаторы тип_возвращаемого_значения имя__метода (параметры) throwsсписок_исключений_которые_вызывает_класс{ /* операторы */return возращаемое_значение ; }Пример:1) public static long Metod (int x, byte y) throws IOException { /*операторы*/ return 5; }2) void Metod ( ) { /*операторы*/ return; /*операторы*/}* Во втором примере тип_возвращаемого_значения = void. Тип void – это "пустой" тип, что означает, чтометод не возвращает значений. При указании типа void, ключевое слово return указывается без параметров(или вообще не используется) и просто означает преждевременный выход из метода.Модификаторы доступа методов (нет, public, protected, private) – см.

модификаторы доступа свойств.Спецификаторы методов:ЗначениеОписаниеstaticЗадает статический метод. Подробнее объяснения см. в спецификаторе static для свойств.abstractАбстрактные методы просто объявляются, но не реализуются в данном классе. Тело методадолжно быть описано в подклассах текущего класса. Ни static-методы, ни конструкторыклассов не могут объявляться как abstract. Более того, абстрактные методы нельзя определятькак final, поскольку в этом случае их нельзя будет переопределить.finalЛюбые подклассы текущего класса не смогут переопределить данный метод (о переопределении методов см. ниже).

Эта возможность увеличивает защищенность ваших классов игарантирует, что операции, определенные в данном методе, никак нельзя будет изменить.nativeМетоды, написанные не на языке Java, а на других языках программирования. Обычно такиеметоды пишутся на C++ для ускорения работы критических участков программы. Дляопределения этих методов нужно поместить спецификатор native в начале объявления методаи вместо тела метода поставить точку с запятой. Пример: native void toggleStatus();synchronized Позволяет защитить данные, которые могут быть разрушены в том случае, если два метода,из разных потоков, пытаются одновременно обратиться к одним и тем же данным. Syncronized-метод не может начать работать со свойствами, пока их не освободит другой метод.Методы доступа в классах.Свойства класса можно создавать, описывая на уровне класса, public - переменные.

Характеристики

Тип файла
PDF-файл
Размер
6 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6294
Авторов
на СтудИзбе
314
Средний доход
с одного платного файла
Обучение Подробнее