КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Переменные
Лекция №3. Для объявления переменной используется следующее выражение: [модификаторы] тип имя_переменной; В данном случае тип — это либо один из простых типов (int, char, Boolean и т. д.), либо имя класса. Простые типы используются так же, как и в языке C. После объявления переменной в неё можно записывать различные значения, включать её в состав выражения и т. д. На первый взгляд кажется, что имена классов одинаково используются в качестве типов переменных как в Java, так и в C. Однако сходство это чисто внешнее. Предположим, что в программе на языке C определён класс с именем ClassC. Приведённое ниже выражение создает экземпляр класса ClassC и размещает его в переменной с именем objC. Посредством objC мы можем обращаться к переменным и функциям-членам класса ClassC. Рассмотрим подобную ситуацию в программе на языке Java. Предположим, что в ней определён класс с именем ClassJava и что в тексте программы присутствует такое выражение ClassJava objJava; В отличие от языка C, экземпляр класса не создаётся. Данное выражение объявляет переменную, которая может хранить ссылку на экземпляр класса ClassJava. В языке Java отсутствуют указатели. И это не случайно, ведь, Java-апплеты могут перемещаться по глобальной сети, поэтому подобная программа должна быть лишена любой возможности непосредственно обращаться к ресурсам локального компьютера. При наличии указателей добиться выполнения запрета на доступ к ресурсам практически невозможно, ведь указателю можно присвоить любое значение, а затем использовать его для обращения к произвольной области памяти. С другой стороны, работать с объектами без указателей крайне сложно, поэтому в Java был реализован механизм ссылок. Упрощённо ссылку можно представить себе как указатель, который может указывать лишь на существующий объект определённого типа. Для создания объекта и связывания с этим объектом переменной определенного типа служит оператор new. Вернёмся к рассмотренному выше примеру. После того как в программе определена переменная objJava типа ClassJava, мы можем включить в программу следующее выражение: objJava = new ClassJava (); Очевидно, что ClassJava () — это один из конструкторов данного класса. Он создаёт экземпляр класса ClassJava и возвращает ссылку на этот объект. Ссылка помещается в переменную objJava. После выполнения данной команды обращение к переменным и методам класса ClassJava производится так, как будто в переменной objJava содержится не ссылка, а экземпляр класса. До сих пор не было сказано ни слова о модификаторах, которые могут указываться при объявлении переменных. · Модификатор типа доступа определяет, из каких классов может производиться обращение к объявляемой переменной. Доступ к переменным и методам в Javaорганизован несколько сложнее, чем в языке C, поэтому на первых этапах изучения языка руководствуйтесь простым правилом: чтобы разрешить обращение к переменной из-за пределов пакета, которому принадлежит класс, следует указать в описании этой переменной модификатор public. · Модификатор static превращает переменную экземпляра в переменную класса. Этот вид переменных хорошо знаком вам из языка C. В отличие от переменной экземпляра, переменная класса, или статическая переменная, с конкретным именем создаётся одна для всех объектов данного класса. Изменение значения этой переменной проявляется во всех экземплярах класса. · Модификатор final сообщает, что значение переменной не может изменяться. Другими словами, переменная final представляет собой не переменную в обычном смысле этого слова, а именованную константу. Разговор о переменных, используемых внутри класса, закончим упоминанием о двух переменных, имеющих специальное назначение. Переменная this хорошо известна вам из языка C. Она ссылается па текущий экземпляр класса. Наряду с переменной this в Java определена переменная super, которая указывает на суперкласс данного класса и может быть использована для вызова любых методов суперкласса.
Дата добавления: 2014-01-04; Просмотров: 238; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |