
- •Глава 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. Введение в классы 145
myboxl.height = 20; myboxl.depth = 15;
/* присвоить другие значения
переменным экземпляра mybox2*/ mybox2.width = 3; mybox2.height = 6; mybox2.depth = 9;
// получить объем первого блока
vol = myboxl.volume ();
System.out.println("Объем равен " + vol);
// получить объем второго блока vol = mybox2.volume();
System.out.println("Объем равен " + vol); } }
He трудно заметить, что при вызове метода volume о он помещается справа от оператора назначения (присваивания). Слева находится переменная, в данном случае это переменная vol, которая примет значение, возвращенное методом volume () . Таким образом, после выполнения оператора
vol = myboxl.volume ();
значение myboxl.volume () становится равным 3000, и это значение затем сохраняется в vol. Еще два важных замечания относительно возвращения значений:
П тип данных, возвращаемых методом, должен быть совместим с типом, указанным в заголовке определения метода. Например, если тип возвращаемого значения некоторого метода — boolean, вы не можете возвращать целое число (типа int);
П переменная, принимающая значение, возвращаемое методом (такая, как vol в нашем случае), должна также быть совместима с типом возвращаемого значения, указанным в определении метода.
Еще одно замечание: предшествующая программа может быть записана немного эффективнее, потому что нет фактически никакой потребности в переменной vol. Обращение к volume о можно выполнить прямо в утверждении с вызовом println о, например:
System.out.println("Объем равен " + myboxl.volume());
В этом случае при выполнении println о метод myboxl. volume о будет вызываться автоматически, и его значение будут пересылаться, к println о.
146 Часть I. Язык Java
Добавление метода с параметрами
Хотя некоторые методы не нуждаются в параметрах, но большинство из них параметрами все-таки пользуется. Параметры обобщают метод. Параметризованный метод может работать на множестве данных и/или использоваться в ряде похожих ситуаций. Чтобы иллюстрировать это положение, воспользуемся очень простым примером. Имеется метод, который возвращает квадрат числа 10:
int square() {
return 10 * 10; }
Хотя этот метод действительно осуществляет возврат значения 10, возведенного в квадрат, его использование очень ограничено. Однако если вы измените метод так, чтобы он имел параметр, как показано ниже, тогда вы можете сделать метод square о более полезным.
int square (int i) {
return i * i; }
Теперь square о будет возвращать квадрат любого значения, с которым он вызывается. То есть square о стал универсальным методом, который может вычислять квадрат любого целого значения, а не только 10. Например:
int x, у;
х = square (5); // х равно 25
х = square (9); // х равно 81
У = 2;
х = square (у); // х равно 4
В первом обращении к square ( ) параметром i будет передаваться значение 5. Во втором обращении i будет принимать значение 9. Третье обращение передает значение у, которое в этом фрагменте равно 2. Как показывают эти примеры, square о способен возвращать квадрат любых данных, которые ему пересылают.
Важно различать два термина параметр и аргумент. Параметр — это переменная, определяемая методом, которая принимает значение во время вызова метода. Например, в методе square (int i) определен один параметр i типа int. Аргумент — это значение, которое передается методу, когда тот вызывается. Например, методу square (ЮО) в качестве аргумента передается число 100. Внутри метода square о это значение принимает параметр i.