
- •Глава 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. Введение в классы 135
ределяет метод main (). Классы Java вообще могут включать метод main о. Вы определяете этот метод, только если класс является стартовой точкой вашей программы. Кроме того, апплеты вообще не используют метод main ().
Программисты C++ обратят внимание, что объявление класса и реализация методов хранятся в одном месте и не определяются отдельно. Это иногда приводит к очень большим исходным (Java) файлам, т. к. любой класс должен быть полностью определен в одном исходном файле. Данное проектное свойство было встроено в Java потому, что, в конечном счете, хранение спецификации, объявления и реализации в одном месте упрощает поддержку кода.
Простой класс
Начнем наше изучение класса с простого примера. Предположим, имеется класс с именем box, который определяет три переменных экземпляра: width, height и depth. Пока что класс box не содержит никаких методов (но вскоре они будут добавлены).
class Box {
double width;
double height;
double depth; }
Как было сказано выше, класс определяет новый тип данных. В этом случае новый тип данных называется box. Вы будете использовать это имя для объявления объектов типа box. Важно помнить, что объявление класса создает только шаблон, а не фактический объект. Таким образом, предшествующий код не приводит к появлению каких-либо объектов типа box. Чтобы фактически создать Box-объект, можно воспользоваться следующим утверждением:
Box mybox = new Box(); // создать Box-объект с именем mybox
После выполнения этого утверждения переменная mybox станет экземпляром класса box, становясь той самой "физической" реальностью. Пока не беспокойтесь относительно деталей данного утверждения.
Всякий раз, когда вы создаете экземпляр класса, образуется объект, который содержит свою собственную копию каждой экземплярной переменной, определенной в классе. Таким образом, каждый Box-объект будет содержать свою собственную копию переменных width, height и depth. Для доступа к этим переменным необходимо использовать операцию "точка" (.) Она связывает имя объекта с именем переменной экземпляра. Например, чтобы назначить переменной width объекта mybox значение 100, нужно использовать следующий оператор:
mybox.width = 100;
136 Часть I. Язык Java
Этот оператор просит компилятор назначать копии переменной width, которая содержится в объекте mybox, значение 100. В общем случае, чтобы обращаться как к переменным экземпляра, так и к методам объекта, следует указывать операцию "точка". Далее предлагается законченная программа, которая использует Box-класс.
/* Программа, которая использует Box-класс.
Назовите этот файл BoxDemo. j ava */ class Box {
double width;
double height;
double depth; }
// Этот класс объявляет объект типа Box. class BoxDemo {
public static void main(String argsf]) {
Box mybox = new Box();
double vol;
// присвоить значения экземплярным переменным объекта mybox mybox.width = 10; mybox.height = 20; mybox.depth = 15;
// вычислить объем блока
vol = mybox.width * mybox.height * mybox.depth;
System.out.println("Объем равен " + vol); } }
Вы должны назвать файл, который содержит эту программу, BoxDemo.java, потому что метод main ( ) находится в классе с именем BoxDemo, а не в классе с именем box. После компиляции программы вы обнаружите, что были созданы два файла с расширением .class — один для Box-класса и один для класса BoxDemo. Java-компилятор автоматически помещает каждый класс в его собственный class-файл. Нет необходимости в том, чтобы классы box и BoxDemo находились в одном исходном файле. Можно было поместить каждый класс в свой собственный файл с именами Box.java и BoxDemo.java, соответственно.
Чтобы выполнить данную программу, нужно выполнить BoxDemo. class. Когда вы сделаете это, то увидите следующий вывод:
Объем равен 3000.0