Ключевое слово abstract используется в объявлениях классов и методов. В объявлении
класса оно обычно означает, что один или несколько методов класса являются абстрактными.
Если в объявлении класса это ключевое слово опущено, но присутствует в объявлении
метода, то класс неявно определяется как абстрактный. (Для улучшения читаемости
программы рекомендуется все же использовать это ключевое слово в объявлении
абстрактного класса.)
Создавать
экземпляры классов, объявленных абстрактными, нельзя. Такие классы требуют от
программиста реализации каждого абстрактного метода в новом производном классе.
Следующий пример иллюстрирует простой абстрактный класс и производный от него:
public abstract
class FruitClass {
public boolean
isPeelable( );
}
public class BananaClass extends FruitClass private boolean bPeel;
public boolean
isPeelable( ) {
return bPeel;
} }
Производный
класс (BananaClass) позволяет создавать свои экземпляры; при этом наследуются
любые неабстрактные методы абстрактного класса (FruitClass), если только они
не переопределены. Заметьте, что в объявлении класса нельзя смешивать ключевые
слова abstract и final.
Кроме того,
ключевое слово abstract можно применять в определениях методов. Как уже
было показано, класс с абстрактными методами тоже считается (явно или неявно)
абстрактным, и для создания его экземпляров надо создать подкласс. Абстрактный
метод не реализуется в абстрактном классе. Он лишь объявляется с аргументами
и типом возвращаемого значения, а его тело заменяется точкой с запятой. Пример
объявления абстрактного метода:
abstract public
int someMethod(int argl, int arg2);
Метод, объявленный
с клюневым словом abstract, нельзя объявлять с ключевыми словами static,
private или final.
Ключевое
слово boolean объявляет простой тип данных Java, допускающий два Булевых
значения: true и false. Хотя true и false определяются в Java
как ключевые слова, на самом деле это литеральные константы. Поэтому ключевые
слова true и false можно использовать как возвращаемые значения и при
проверке условий, а также в операциях присвоения и сравнения с другими Булевыми
переменными. Содержимое Булевых переменных нельзя приводить к другим типам данных
(равно как и другие типы — к Булевым переменным), однако текущее значение Булевой
переменной можно преобразовать в строку. Пример объявления Булевой переменной
и присвоения ей значения:
private boolean
isRunning; isRunning = true;
Ключевое
слово break досрочно завершает выполнение цикла while, do, for или
конструкции switch. Если в операторе break указана метка, управление
передается на строку под этой меткой. (Оператор в данной строке может не относиться
к while, do, for или switch.) Кроме того, оператор break передает
управление за пределы блоков try/ catch. Если оператор break с
меткой выполняется в блоке try или catch, с которым связан парный
блок finally, то сначала обрабатываются операторы блока finally. И
только после выполнения всего блока finally управление передается первому
оператору за меткой. Применение оператора break с меткой иллюстрирует
такой пример:
blockl:
recordsRemain
= getUpdateStatus( );
while (recordsRemain)
{
if (isRunning)
System.out.println("Update
another record"); else
break block1;
}
Ключевое
слово byte объявляет простой тип данных Java, допускающий целочисленные
значения от -128 до +127. В байте содержится 8 бит независимо ет платформы,
на которой исполняется байтовый код Java. Переменные типа byte нельзя приводить
к другим числовым типам данных (равно как и другие числовые типы — к byte).
Пример объявления байтовой переменной и присвоения ей значения:
private byte
stripThis; stripThis = 64;
Ключевое
слово case можно использовать лишь в блочном операторе switch, где
оно позволяет поочередно сравнивать значение проверяемого выражения с произвольным
количеством уникальных констант (или числовых меток). Если константа в case
равна значению выражения в верхней части switch, управление передается
операторам в данном блоке case. Иначе управление передается следующему оператору
case для сравнения.
Когда ни
одна константа в блоках case не соответствует значению выражения в верхней части
switch, управление передается оператору default (если он есть).
Пример, иллюстрирующий ключевое слово case, см. в описании switch.
Ключевое
слово catch включает в программу блок обработки исключений. За этим ключевым
словом указывается тип исключения, имя аргумента в круглых скобках и блок кода,
выполняемый при исключениях данного типа. Оператор try и его блок кода всегда
предшествуют оператору catch. Если исключение возникает в блоке try,
проверяется, способен ли соответствующий оператор catch обработать это
исключение. Если да, оно присваивается аргументу и выполняется код блока catch.
Пример, иллюстрирующий
ключевое слово catch, см. в описании try.
Ключевое
слово char объявляет простой тип данных Java для хранения единственного
16-разрядного Unicode-символа, значение которого должно укладываться в диапазон
от \u0000 до \uffff. Наборы Unicode-символов позволяют представить большинство
письменных языков, существующих в мире. (ASCII-символы составляют лишь малую
часть набора Unicode-символов.)
Значение
переменной типа char можно приводить к другим числовым типам данных (равно как
и другие числовые типы — к char). Однако данные этого типа являются неявно беззнаковыми,
поэтому преобразование char в byte или short может привести к появлению отрицательного
числа. Пример объявления переменной типа char и присвоения ей значения:
private char hitChar;
hitChar = 'a';
Ключевое
слово class объявляет новый класс. В этой конструкции Вы определяете
новый тип (или объект) и описываете его реализацию посредством конструкторов,
методов и полей. Класс может наследовать свою реализацию от надклассов.
Ключевое
слово continue используется во вложенных циклах как одноименный оператор.
Если в нем не указана метка, он передает управление в конец текущего цикла while,
do или for. При этом досрочно завершается текущая итерация и начинается
новая. А если в continue метка задана, управление передается последнему
оператору внешнего цикла. В этом случае сама метка должна находиться непосредственно
перед таким циклом while, do или for — в отличие от оператора
break, который не требует, чтобы метка располагалась только перед оператором
цикла.
Если оператор
continue с меткой выполняется в блоке try или catch, у
которого сеть парный блок finally, то предварительно выполняются операторы
в finally. А затем управление передается последнему оператору того цикла,
который помечен меткой.
Следующий
код демонстрирует ключевое слово continue с меткой и без нее: blockl:
for (int i=0;
i < 10; i++) {
while (statusOkay)
{
if (someNum
< 0) {
someNum++;
System.out.println("Do
it again"); continue; }
if (string1[i]
== null) {
System.out.println("null
string here");
continue blockl;
} else
{
string2[i] =
string1[i];
}
// сюда указывает
continue без метки
}
// а
сюда - с меткой }
Ключевое
слово default применяется только в блочном операторе switch, может
быть указано в нем лишь раз и обычно находится в конце. Ключевое слово default
отмечает операторы, выполняемые по умолчанию, когда результат выражения
в операторе switch не совпадает ни с одной из констант в блоках case.
Пример, иллюстрирующий ключевое слово default, см. в описании switch.
Ключевое
слово delegate применяется как часть объявления класса делегата, который
расширяет com.ms.lang.Delegate или com.ms.lang.Multi-castDelegate. Делегаты
используются в Microsoft Windows Foundation Classes for Java (WFC) для поддержки
механизмов обработки событий. Делегаты примерно соответствуют процедурным указателям,
широко применяемым в C++ и других объектно-ориентированных языках. Но в отличие
от процедурных указателей, делегаты объектно-ориентированны, безопасны и обеспечивают
контроль типов. Кроме того, если процедурный указатель содержит лишь ссылку
на конкретную функцию, то делегат состоит из ссылки на объект и ссылок на один
или несколько методов в этом объекте.
Допускается
объявление либо «обычных», либо многоканальных делегатов (multicast
delegates); в последнем случае следует добавить ключевое слово multicast.
Обычный делегат инкапсулирует ссылку на единственный метод в экземпляре.
При обращении к делегату этого типа вызывается его присоединенный метод.
Многоканальный
делегат отличается от обычного тем, что может содержать ссылки на несколько
методов. Они выполняются синхронно и в том порядке, в котором они были внесены
в список, поддерживаемый самим делегатом. Если один из вызванных методов генерирует
исключение, делегат уничтожается, а исключение передается тому, кто обратился
к делегату.
Примечание
Ключевое слово delegate является расширением языка Java, введенным
Microsoft.
Ключевое
слово do — часть конструкции do/while. В отличие от других, более распространенных
циклических конструкций, выражение в do/while оценивается лишь после
первого выполнения тела цикла. Таким образом, тело цикла гарантированно выполняется
минимум один раз, даже если результат оценки выражения вызывает завершение цикла.
Примечание
Не забывайте ставить точку с запятой после условия
в
do/while.
Типичный
пример цикла do/while: int i = getValue( );
do {
System.out.println("Printing
at least once");
} while
(i <= 10);
Ключевое
слово double объявляет простой тип данных Java для хранения 64-разрядного
числа с плавающей точкой в формате IEEE 754. Переменные типа double могут содержать
значения в диапазоне от -1.7Е308 до +1.7Е308 с точностью около 14 значащих разрядов.
Если Вы хотите, чтобы литеральное значение с плавающей точкой обрабатывалось
как double, добавьте d или D к его правой части.
Переменные
типа double можно приводить к другим числовым типам данных (равно как и другие
числовые типы — к double). Однако такие
(преобразования
невозможны в сочетании с типом boolean. Пример объявления переменной типа double
и присвоения ей значения: private double dCalcSet; dCalcSet = 1.23d; dCalcSet
= 3e2; dCalcSet = .25;
Ключевое
слово else образует альтернативный раздел в блочном операторе if.
Если выражение в операторе if лает false, управление передается
первому оператору после else. А если выражение в if д^ет true, то
— первому оператору после if.
Из-за несоблюдения
отступов в if/else часто возникают логические ошибки. Вот пример:
if (numPrints
< 1000)
if (paperFeed
== fullTray)
{
printPaperCopy(
);
showStatus(
);
paperFeed-;
} else
suspendPrintJob(
); // неправильный отступ!
Здесь начало
блока else попадает на тот же столбец, что и внешний оператор if,
но относится к вложенному if. Подобные проблемы, к сожалению, часто
упускают из виду, хотя корректность отступов очень важна, чтобы не запутаться
в логике кода.
Ключевое
слово extends в объявлении класса указывает его ближайший надкласс. Последний
можно рассматривать как класс, на основе реализации которого строится реализация
текущего класса. Объявляемый класс является ближайшим подклассом расширяемого
им класса. Если ключевое слово extends не определяет надкласс в явном
виде, таковым считается класс java.lang.Object.
Класс, объявленный
как расширение надкласса, имеет доступ ко всем открытым и защищенным переменным
и методам своего надсласса. Заметьте, что у классов, объявленных с ключевым
словом final, не может быть подклассов.
Пример типичного
использования ключевого слова extends:
public class
TransactionApplet extends Applet
{
}
Ключевое
слово false используется как одно из двух Булевых значений. Строго говоря,
false не является ключевым словом языка Java; правильнее было бы назвать
его литеральным значением, которое присваивается переменной типа boolean.
Пример для
ключевого слова false см. в описании ключевого слова boolean.
Ключевое
слово final является модификатором классов, методов и переменных. Его
присутствие в объявлении класса означает, что данный класс не допускает ни переопределения,
ни создания подклассов. Создатель такого класса как бы считает, что дальнейшие
изменения войдут в противоречие с первоначальным назначением класса. Ключевое
слово final в объявлении метода означает, что переопределять этот метод
нельзя. (Кстати, объявление метода с ключевыми словами static или private
подразумевает его неявное объявление и как final.) А присутствие
final в объявлении переменной означает, что нельзя изменять присвоенное
ей значение.
Ключевое
слово finally определяет блок кода, следующий за блоком try/ catch.
Блок finally необязателен и может находиться после блока try и любого
блока catch. Код в finally всегда выполняется лишь раз. Обычно управление
доходит до конца блока try и передается блоку finally, который, как правило,
отвечает за очистку.
Если управление
передается из try оператором return, continue или break, то сначала
все равно выполняется блок finally. Если исключение возникает в try,
с которым связан блок catch, обрабатывающий исключения в пределах метода,
управление передается сначала catch, затем finally. Если же локального
блока catch нет, управление передается сначала finally, потом
вызванным методам (по восходящей), пока не будет найден подходящий обработчик
для этого исключения.
Ключевое
слово float объявляет простой тип данных Java для хранения 32-разрядного
числа с, плавающей точкой з формате IEEE 754. Переменные типа float могут содержать
значения в диапазоне от + 3.40282347Е + 38 до -1.40239846Е-45. Если Вы хстите,
чтобы литеральное значение с плавающей точкой обрабатывалось как float, добавьте
/ или F к его правой части. Пример объявления переменной типа float и
присвоения ей значения:
float fCalcSet;
fCalcSet = 1.23f;
fCalcSet = 3e2f;
fCalcSet = .25f;
Ключевое
слово for предназначено для написания циклов. Сразу за этим словом следуют разделы
инициализации, выражения и модификации (в нем обычно находится счетчик). Они
отделяются друг от друга точкой с запятой и все вместе заключаются в круглые
скобки. Раздел инициализации позволяет объявлять одну или несколько локальных
переменных цикла. По завершении цикла эти переменные становятся недействительными.
Во втором
разделе содержится выражение, после вычисления которого определяется, надо ли
продолжать цикл. Результат, равный true, позволяет продолжить цикл, a
false — передает управление оператору, следующему за телом цикла,
Третий раздел
дает возможность увеличивать (или уменьшать) счетчики либо выполнять другие
модификации. Как правило, используется для счетчиков.
Типичный
пример цикла for: for (int i = 0; i < 10; i++)
Ключевое
слово if позволяет выполнять оператор или блок операторов, пока проверочное
выражение дает true. В блочном варианте оператора if может присутствовать
альтернативный раздет else. Если выражение в if дает false, управление передается
оператору(или блоку операторов) после else. А если выражение в if дает
true, то — первому оператору после if.
Из-за несоблюдения
отступов в if/else часто возникают логические ошибки. Вот пример:
if (numPrints
< 1000)
if (paperFeed
== fullTray) {
printPaperCopy(
); showStatus( ); paperFeed-; } else
suspendPrintJob(
); // неправильный отступ!
Здесь начало
блока else попадает на тот же столбец, что и внешний оператор if, но
относится к вложенному if. Подобные проблемы, к сожалению, часто упускают из
виду, хотя корректность отступов очень важна, чтобы не запутаться в логике кода.
Ключевое
слово implements указывает в объявлении класса, что он реализует один
или несколько интерфейсов. В последнем случае имена интерфейсов в объявлении
разделяются запятыми. Кроме того, после implements в объявлении класса
должно следовать ключевое слово extends. Пример использования ключевого
слова implements при объявлении класса:
public class
PotatoHead implements InterchangeableParts {
}
Ключевое
слово import применяется в Java для того, чтобы из текущего файла можно
было обращаться к классам по сокращенным именам. В программе, написанной на
Java, допустимо произвольное число операторов import, но они должны находиться
за необязательным оператором package в начале файла и перед первым определением
класса или интерфейса.
Использование
ключевого слова import демонстрирует следующий пример:
import my.package.*;
// импортируются все классы из my.package import my.package.cool;
// из ту.package
импортируется только класс cool
Ключевое
слово instanceof используется как оператор, который возвращает true,
если объект в левой его части является экземпляром класса или
реализует интерфейс, который указан в его правой части. Оператор instanceof
возвращает false, если объект не является экземпляром данного класса
или не реализует данный интерфейс. Это же значение возвращается и в том случае,
если указанный объект — null.
Ключевое
слово int объявляет простой тип данных Java для хранения целочисленных
значений в интервале от -2147483648 до +2147483647. Размер int равен 32 битам
независимо от платформы, на которой выполняется байтовый код Java.
Содержимое
переменных int можно приводить к другим числовым типам данных (равно как и другие
числовые типы — к int). Пример объявления переменной типа int и присвоения ей
значения:
private int
iValueK; iValueK = 1024;
Ключевое
слово interface объявляет интерфейс. Последний можно рассматривать как
некий шаблон для класса, который Вам, возможно, придется реализовать, но Вы
не обязаны делать все сами. Интерфейсы отличаются от классов тем, что:
Ключевое
слово long объявляет простой тип данных Java для хранения значений в
интервале от -9223372036854775808 до +9223372036854775807. Размер long равен
64 битам независимо от платформы, на которой выполняется байтовый код Java.
Содержимое
переменных long можно приводить к другим числовым типам данных (равно как и
другие числовые типы — к long). Пример объявления переменной типа long и присвоения
ей значения: private long iLedgerBalance; iLedgerBalance = 1234567890;
Ключевое
слово multicast используется в объявлении делегата для определения класса,
расширяющего com.ms.lang.MulticastDelegate. Подробнее о многоканальных делегатах
(multicast delegates) см. описание ключевого слова delegate.
Примечание
Ключевое слово multicast является расширением языка Java,
введенным Microsoft.
Ключевое
слово native — модификатор, используемый в объявлении метода и указывающий,
что этот метод реализован на другом языке программирования. Поскольку native-метод
реализуется вне Java-программы, его объявление заканчивается точкой с запятой,
а тело метода, естественно, не приводится.
Такие методы
нельзя объявлять с ключевым словом abstract. О простом способе доступа
к интерфейсу Windows API см. главу 19 «Написание Windows-приложений с
использованием J/Direct».
Ключевое
слово new применяется в операторе, создающем новый объект или массив. При этом
new сначала создает экземпляр заданного класса, затем инициализирует все переменные
экземпляра их исходными значениями и, наконец, вызывает подходящий для данного
класса конструктор (в зависимости от списка аргументов). Пример типичного использования
ключевого слова new для создания объекта класса:
Button b = new
Button("OK");
Оператор
new позволяет также создавать массивы любого числового или объектного типа.
Как только массиву выделяется соответствующий объем памяти, все его элементы
инициализируются исходными значениями.
Типичный
способ создания массива с помощью ключевого слова new выглядит так:
int array[]
= new int[10];
Ключевое
слово null представляет особое значение, указывающее, что переменная
не ссылается ни на один объект. Значение null можно присвоить любой переменной
класса или интерфейса для очистки. (Присвоение null любому из упомянутых элементов
сообщает подсистеме уборки мусора, что данный объект или переменная больше не
используются.) Его
нельзя приводить к другим типам и не следует считать, что ему соответствует
некое определенное числовое значение.
Ключевое
слово package в языке Java указывает, в каком пакете находится код, используемый
в данном файле. Java-код, являющийся частью конкретного пакета, имеет доступ
ко всем классам этого пакета и их незакрытым методам и переменным.
Оператор
package должен присутствовать в самом начале Java-файла (предшествовать
ему могут только комментарии и директивы условной компиляции). Если в Java-файле
нет оператора package, код в таком файле становится частью безымянного
пакета по умолчанию.
Ключевое
слово private — модификатор, используемый в объявлениях методов или переменных
(в объявлениях локальных переменных он недопустим). Указав модификатор private
в объявлении одного из этих элементов, Вы скрываете их, и к ним уже нельзя
обращаться извне класса, в котором они -объявлены. Есть лишь одно исключение:
методы и переменные, объявленные как private в пределах класса, доступны его
внутренним классам.
Ключевое
слово protected — модификатор в объявлениях методов или переменных (в
объявлениях локальных переменных он недопустим). Защищенная переменная или метод
видимы только в пределах своих класса, подклассов или пакета, к которому относится
данный класс. Однако подклассы могут находиться в разных пакетах.
Ключевое
слово public — модификатор в объявлениях классов, интерфейсов, методов
или переменных (в объявлениях локальных переменных он недопустим). Классы и
интерфейсы, объявленные как public, видимы всем. А методы и переменные, объявленные
как public, видимы там, где видимы их классы.
Имена открытых
классов должны точно соответствовать именам JAVA-файлов, в которых они хранятся.
Ключевое
слово return возвращает управление коду, вызвавшему метод или конструктор.
Оператор return, указанный в методе, либо возвращает некое значение,
либо просто передает управление вызвавшему коду. Если возвращаемое значение
не требуется, непосредственно за
ключевым
словом return ставится точка с запятой (а не значение); при этом в
объявлении метода должно быть указано ключевое слово void. А если
такое значение необходимо, в объявлении метода должен быть указан соответствующий
тип возвращаемого значения. В конструкторах операторы return не могут
возвращать значения.
Ключевое
слово short объявляет простой тип данных Java для хранения значений в
интервале от -32 768 до + 32 767. Размер short равен 16 битам независимо от
платформы, на которой выполняется байтовый код Java.
Содержимое
переменной типа short можно приводить к другим числовым данных (равно как и
другие числовые типы — к short). Пример объявления переменной типа short и присвоения
ей значения:
private short squareFeet;
squareFeet =
4600;
Ключевое
слово static — модификатор для методов и переменных. Его можно использовать
и для определения статических инициализирующих блоков.
Наличие static
в объявлении метода или переменной означает, что каждый объект класса сможет
ссылаться только на одну копию метода или переменной независимо от того, сколько
экземпляров этих элементов (членов) создаст содержащий их класс.
Ключевое
слово static годится и для создания статического блока инициализирующего
кода, который, выполняется лишь раз — в момент первой загрузки объекта класса
в память.
Ключевое
слово super обычно используют для доступа к скрытым переменным или переопределенным
методам в надклассе. Кроме того, его можно указывать (вместе с необязательным
списком аргументов) в первой Строке тела конструктора для вызова конструктора
надкласса.
Ключевое слово switch используется вместе с ключевым словом case -а иногда и с default — для создания блочного оператора выбора по условию. За switch следует выражение в круглых скобках, оценка которого должна давать значение простого типа, встроенного в Java. После оценки выражения его значение сравнивается с константами в операторах case, расположенных в теле оператора switch. Если константа совпадает со значением, выполняются строки в соответствующем блоке case. Необязательный блок default вводят в тело оператора switch, когда нет гарантии, что константы в блоках case — единственно возможные значения, принимаемые выражением в switch. Пример типичного оператора switch:
switch (someExpression)
{
case 1: {
doCase1( );
break; } case 2:
{
doCase2( );
break; }
case 3: {
doCase3A( );
doCase3B( ); } default:
doDefault( );
}
В теле оператора
switch, в конце блоков case обычно используется и ключевое слово
break. Оно позволяет пропустить оставшуюся часть тела switch. Без
оператора break продолжилась бы проверка остальных операторов case
и в конечном счете был бы выполнен оператор default (если он есть).
Ключевое
слово synchronized — модификатор, определяющий реентерабельные (thread-safe)
методы, и оператор, указывающий критические секции кода. При использовании в
качестве модификатора он указывает, что данный метод в каждый момент может быть
доступен лишь одному потоку. Если же synchronized применяется как оператор,
то за ним следуют выражение в круглых скобках и блок операторов. Если результатом
оценки выражения в скобках будет объектный тип или массив, программа монопольно
захватывает этот элемент до тех пор, пока не будет выполнен указанный блок операторов.
Ключевое слово this применяется с методами и конструкторами экземпляра для ссылки на текущий объект. Если ключевое слово this указано в самом первом операторе тела конструктора, значит, объект создается при участии другого конструктора в том же классе. Например:
public class
MyClass {
private long
birthday;
private String
name;
// первый конструктор
MyClass(String bDay) {
birthday = formatBirthday(bDay);
}
// второй конструктор
MyClass(String nm, String bDay) {
this (bDay);
name = new String(nm);
} }
Примечание
Ключевое слово this должно быть в первом операторе тела конструктора,
иначе код не будет компилироваться. Ключевое слово this в методе экземпляра
полезно, когда в теле метода появляется переменная с тем же именем. Так, для
ссылки на переменную х, действующую на уровне класса, из метода, где содержится
локальная переменная х, Вы пишете this.x.
Ключевое
слово throw обычно применяется в блоке try, тде оно сообщает, что возникла
какая-то исключительная ситуация. За ключевым словом throw следует объект
исключения, производный от класса Throwable и указывающий тип генерируемого
исключения. Оператор throw прерывает нормальное выполнение программы
и передает управление ближайшему оператору catch, способному обработать
указанный объект исключения. Таким образом, оператор throw может находиться
и вне блока try, если исключение предполагается перехватывать где-то в другом
месте программы.
Следующий
пример демонстрирует использование throw:
public void
someMethod(int div) throws Exception1
{
try
{
if (div == 0)
throw new Exception1(
);
}
catch(Exceptionl
e1)
{
// исключение
может быть обработано // в этом блоке catch
} }
Ключевое слово throws используется в объявлении метода для перечисления любых исключений, которые могут быть вызваны данным методом, но не наследуются от класса Error или RuntimeException. (Исключения, наследуемые от Error, связаны, как правило, с серьезными системными проблемами, и поэтому с ними мало что можно сделать.) Вот типичное объявление метода с ключевым словом throws:
public int someMethod(int
argument) throws Exceptionl, Exception2
{
// в этом методе
может присутствовать блок try/catch
// для обнаружения
и возможной обработки любых
// перехваченных
исключений }
Ключевое
слово transient — модификатор, используемый при объявлении переменных
и указывающий, что текущее значение переменной не подлежит сериализации (или
сохранению) вместе с другими данными, которые хранятся в объекте класса.
Пример объявления
переменной с модификатором transient: private transient int currentTime;
Ключевое
слово true используется как одно из двух Булевых значений. Строго говоря,
true не является ключевым словом языка Java; правильнее было бы назвать
его литеральным значением, которое присваивается переменной типа boolean.
Пример для
ключевого слова true см. в описании ключевого слова boolean.
Ключевое
слово try указывает блок кода, в котором возможно исключение. Каждому
оператору try должен соответствовать минимум один оператор catch.
Если возникает исключение, проверяется параметр в catch, чтобы определить,
способен ли он обработать это исключение. Если оно не обрабатывается ни одним
из блоков catch, соответствующих try, управление передается вверх
по цепочке вызовов методов в поисках подходящего обработчика для этого исключения.
Если у блока try есть парный блок finally, последний выполняется
независимо от того, нормально завершается блок {гу или внезапно прерывается.
Пример типичной
конструкции try/catch/finally: try
{
// код внутри
этого блока может вызвать исключение
}
catch(Exception1
e1) {
// код в этом
блоке выполняется только при исключении
// типа Exception1,
иначе блок игнорируется
}
catch(Exception2
e2)
{
// код в этом блоке выполняется только при исключении
// типа Exception2,
иначе блок игнорируется
}
finally
{
// код в этом блоке выполняется всегда - независимо
// от того, появилось исключение в блоке try или нет;
// этот блок
обычно используют для очистки
}
Ключевое
слово void в объявлении метода указывает, что у данного метода нет возвращаемого
значения.
Это ключевое
слово поддерживается с большими ограничениями: в отличие от С, в Jaya с его
помощью нельзя объявить об отсутствии у метода параметров, нет возможности определить
void-указатели и т. д.
Ключевое
слово volatile — модификатор, применяемый при объявлении переменных.
Его присутствие означает, что значение переменной может асинхронно изменяться
и поэтому компилятор не должен использовать ее при оптимизации кода.
Ключевое слово while образует циклическую конструкцию. В цикле while сначала оценивается выражение в круглых скобках справа от этого ключевого слова. Если результат проверки дает true, выполняются операторы в теле цикла. Если тело цикла состоит из целого блока операторов, его следует заключить в фигурные скобки. Выражение в начале цикла проверяется после каждой итерации, и тело цикла выполняется до тех пор, пока результат проверки не окажется равным false. Типичный пример цикла while:
while (i <
10) {
// операторы
в этом блоке выполняются, если
// результат
оценки выражения равен true
}
Вещество и поле не есть что-то отдельное от эфира, также как и человеческое тело не есть что-то отдельное от атомов и молекул его составляющих. Оно и есть эти атомы и молекулы, собранные в определенном порядке. Также и вещество не есть что-то отдельное от элементарных частиц, а оно состоит из них как базовой материи. Также и элементарные частицы состоят из частиц эфира как базовой материи нижнего уровня. Таким образом, всё, что есть во вселенной - это есть эфир. Эфира 100%. Из него состоят элементарные частицы, а из них всё остальное. Подробнее читайте в FAQ по эфирной физике.