
- •Глава 2
- •Глава 2. Обзор языка Java 31_
- •Глава 2. Обзор языка Java
- •Глава 2. Обзор языка Java 37
- •Глава 2. Обзор языка Java 39
- •Глава 2. Обзор языка Java 41
- •Часть I. Язык Java
- •Глава 2. Обзор языка Java 43_
- •Глава 2. Обзор языка Java 45_
- •Глава 2. Обзор языка Java 47
- •Глава 2. Обзор языка Java 49_
- •Часть I. Язык Java
- •Глава 2. Обзор языка Java 57
- •Глава 3
- •Глава 3. Типы данных, переменные и массивы 53
- •Глава 3. Типы данных, переменные и массивы _ 55
- •Глава 3. Типы данных, переменные и массивы
- •Глава 3. Типы данных, переменные и массивы 59_
- •Глава 3. Типы данных, переменные и массивы 61_
- •Глава 3. Типы данных, переменные и массивы
- •Глава 3. Типы данных, переменные и массивы 65_
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 67_
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 69_
- •Глава 3. Типы данных, переменные и массивы 71_
- •Глава 3. Типы данных, переменные и массивы 73_
- •Глава 3. Типы данных, переменные и массивы
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы _ 77_ Эта программа генерирует следующий вывод:
- •Глава 3. Типы данных, переменные и массивы 79
- •Часть I. Язык Java
- •Глава 3. Типы данных, переменные и массивы 81_
- •Глава 4
- •Глава 4. Операции 83
- •84 Часть I. Язык Java
- •Глава 4. Операции 85_
- •Глава 4. Операции 87_
- •88_ Часть I. Язык Java
- •Глава 4. Операции 89
- •Глава 4. Операции 91_
- •Глава 4. Операции 93_
- •Глава 4. Операции 95_
- •Глава 4. Операции 97_
- •Глава 4. Операции 99
- •Глава 4. Операции 101
- •Глава 4. Операции 103
- •104 Часть I, Язык Java
- •Глава 4. Операции 105
- •Глава 5
- •Глава 5, Управляющие операторы 107
- •Глава 5. Управляющие операторы 109
- •110 Часть I. Язык Java
- •Глава 5, Управляющие операторы 111
- •Глава 5. Управляющие операторы 113
- •Глава 5. Управляющие операторы
- •Глава 5. Управляющие операторы 117
- •118 Часть I. Язык Java
- •Глава 5. Управляющие операторы 119
- •Глава 5. Управляющие операторы 121
- •122 Часть I. Язык Java
- •Глава 5. Управляющие операторы 123
- •Глава 5. Управляющие операторы 125
- •Глава 5. Управляющие операторы 127
- •Глава 5. Управляющие операторы 129
- •Глава 5. Управляющие операторы
- •Глава 6
- •134 Часть I. Язык Java
- •Глава 6. Введение в классы 135
- •136 Часть I. Язык Java
- •Глава 6. Введение в классы _ 137
- •Глава 6. Введение в классы 139
- •Глава 6. Введение в классы
- •Глава 6. Введение в классы 143
- •Глава 6. Введение в классы 145
- •Глава 6. Введение в классы 147
- •Глава 6. Введение в классы 149
- •Глава 6. Введение в классы 151
- •154 Часть I. Язык Java
- •Глава 6. Введение в классы 155
- •Глава 6. Введение в классы 157
- •Глава 7
- •Глава 7. Методы и классы 159
- •Глава 7. Методы и классы . 161
- •Глава 7. Методы и классы • 163
- •164 Часть I. Язык Java
- •Глава 7. Методы и классы 165
- •Глава 7. Методы и классы 167
- •Глава 7. Методы и классы 169
- •Глава 7, Методы и классы 171-
- •Глава 7. Методы и классы 173
- •Глава 7. Методы и классы 775
- •Глава 7. Методы и классы 177
- •Глава 7. Методы и классы ' 179
- •Глава 7. Методы и классы 1_81_
- •Глава 7. Методы и классы 1_83
- •184 '• Часть I. Язык Java
- •Глава 7. Методы и классы . 185
- •Глава 7. Методы и классы 187
- •Глава 8
- •Глава 8. Наследование 191
- •Глава 8. Наследование 193
- •Глава 8, Наследование 195
- •Глава 8. Наследование 197
- •198 Часть I. Язык Java
- •Глава 8, Наследование 199
- •Глава 8. Наследование 201
- •202 Часть I. Язык Java
- •Глава 8. Наследование 203
- •Глава 8. Наследование 205
- •Глава 8. Наследование 207
- •Глава 8. Наследование 209
- •Глава 8. Наследование 211
- •Глава 8. Наследование 213
- •Глава 8. Наследование 215
- •Глава 8. Наследование 217
- •Глава 12
- •Глава 12. Ввод/вывод, апплеты и другие темы 303_
- •Глава 12. Ввод/вывод, апплеты и другие темы . 305
- •Глава 12. Ввод/вывод, алплеты и другие темы 307
- •Глава 12. Ввод/вывод, апплеты и другие темы 309
- •Глава 12. Ввод/вывод, апплеты и другие темы 311
- •Глава 12. Ввод/вывод, апплаты и другие темы 313
- •314 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 315
- •Глава 12. Ввод/вывод, апплеты и другие темы 317
- •Глава 12. Ввод/вывод, апплеты и другие темы 319
- •320 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 321
- •Глава 12. Ввод/вывод, апплеты и другие темы 323
- •324 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплеты и другие темы 325
- •326 Часть I. Язык Java
- •Глава 12. Ввод/вывод, апплегы и другие темы 327
Глава 6
Введение в классы
В основе языка Java лежит класс. Класс — это логическая конструкция, на которой построен весь язык Java, потому что такая конструкция определяет форму и природу объекта. Класс формирует также основу для объектно-ориентированного программирования в Java. Любая концепция, которую вы желаете реализовать в Java-программе, должна быть инкапсулирована в класс.
Из-за того, что класс достаточно фундаментален для Java, данная и следующие несколько глав будут посвящены этому важнейшему понятию языка. Здесь вам будут представлены основные элементы класса, и вы узнаете, как класс может использоваться для создания объектов. Вы также познакомитесь с методами, конструкторами, и ключевым словом this.
Основы классов
Классы в примерах программ использовались с самого начала этой книги. Однако до сих пор применялась только самая элементарная их (классов) форма. Классы, созданные в предшествующих главах, первоначально существуют просто для того, чтобы включать метод maino , который вводился для демонстрации основ синтаксиса Java. Как вы увидите далее, классы являются более мощными компонентами языка, чем представленные до сих пор.
Пожалуй, наиболее важным в понятии класса является то, что он определяет новый тип данных. После определения новый тип можно использовать для создания объектов этого типа. Таким образом, класс — это шаблон для объекта, а объект — это экземпляр класса. Поскольку объект — экземпляр класса, два слова объект и экземпляр часто будут использоваться как взаимозаменяемые.
134 Часть I. Язык Java
Общая форма класса
Когда вы определяете класс, то объявляете его точную форму и природу. Делаете вы это, формируя данные, которые он содержит, и код, который оперирует с этими данными. В то время как очень простые классы могут содержать только код или только данные, наиболее реальные классы содержат и то и другое. Код класса определяет интерфейс к его данным.
Класс объявляется при помощи ключевого слова class. Классы, которые использовались до сих пор, фактически являются очень ограниченными примерами их полной формы. Классы могут быть (и обычно являются) более сложными конструкциями. Ниже показана общая форма определения класса:
class classname {
type instance-variable!;
type instance-variable2;
/I...
type instance-variableN;
type methodnamel (parameter—list) {
// тело метода } type iaethodname2 (parameter-list) {
// тело метода }
//... type methodnameN(parameter—list) {
// тело метода } }
Данные или переменные, определенные в классе, называются переменными экземпляра или экземплярными переменными (instance variables). Код содержится внутри методов (methods). Все вместе, методы и переменные, определенные внутри класса, называются членами класса (class members). В большинстве классов на переменные экземпляра воздействуют методы, определенные в этих классах. Таким образом, именно методы определяют, как могут использоваться данные класса.
Переменные, определенные в классе, называются переменными экземпляра потому, что каждый экземпляр класса (т. е. каждый объект класса) содержит свою собственную копию этих переменных. Таким образом, данные одного объекта отделены от данных другого.
Все методы имеют ту же общую форму, что метод main ( } , который мы использовали до сих пор. Однако большинство методов не будут определяться как static или public. Обратите внимание, что общая форма класса не оп-