1. 単語のリスト
他のプログラミング言語と同様に、Java にも特別な意味を持つ単語があります。たとえば、return
またはif
。while
これらの単語はキーワード (キーワード) と呼ばれ、Java 言語によって予約されているとみなされます。
これらの単語を変数名、メソッド名、またはクラス名として使用することはできません。コンパイラは常に、厳密に定義された方法でそれらを解釈します。Javaにはこんな言葉があります54
。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
そのうちのいくつかはすでにご存知でしょう。残りについては今からお話します。
2. プリミティブ型
おそらく覚えていると思いますが、Java には 8 つのプリミティブ型があり、それぞれに独自のキーワードがあります。
byte
short
int
long
char
float
double
boolean
void
十分な探究心を持っているなら、すでに変数に int という名前を付けようとしている可能性が十分にあります。そしてもちろん成功しませんでした。これはまさに、すべてのプリミティブ型の名前が予約語であるためです。
タイプvoid
もこのカテゴリに分類されます。
3. ループと分岐
ループと分岐によって、キーワードのかなり長いリストも得られます。
if
else
switch
case
default
while
do
for
break
continue
この言語では、数種類のループ、分岐、およびループ (break
とcontinue
) および複数の分岐 ( switch
) を中断するための制御ステートメントを提供するには、わずか 10 ワードで十分です。これらのキーワードはすべてすでにご存知です。
4. 例外
例外として、次の 5 つのキーワードが得られます。
try
catch
finally
throw
throws
これらはすべてtry-catch-finally
ブロックの一部です。例外をスローする演算子は でありthrow
、throws
キーワードは例外メカニズムをサポートしますchecked
。
幸いなことに、あなたは例外に関連するすべてのキーワードをすでによく知っているため、例外の操作についてもほぼ慣れていることになります。
5. 可視性
ここには 3 つのキーワードしかありませんが、それらはすでによく知られています。
private
protected
public
public
プログラム内のどこからでもメソッド/変数/クラスにアクセスできます。
private
プログラム内のどこからでもメソッド/変数/クラスにアクセスすることを禁止します。アクセスは、修飾子でマークされたメソッドと同じクラス内でのみ許可されますprivate
。
protected
と同じように機能しますprivate
が、継承されたクラスからメソッド/変数/クラスにアクセスすることもできます。OOP と継承に慣れると、この修飾子の利点がより明確になります。
6. クラスの操作
このカテゴリには 11 個のキーワードがあります。
class
interface
enum
import
package
extends
implements
static
final
abstract
default
それらは 4 つのグループに分類できます。
最初のグループは、クラス、およびclass
の作成に関連しています。クラスと列挙型の宣言についてはすでに学習しました。このキーワードは、さらに別のクラスのような型であるインターフェイスを宣言するために使用されます。interface
enum
interface
2 番目のグループは、すでにおなじみのpackage キーワードと importキーワードで構成されます。package キーワードは、クラス ファイル内のクラスのパッケージを指定するために使用されます。これimport
は、独自のクラスを作成するときに外部クラスの短縮名を使用できるようにするためです。
およびキーワードextends
はimplements
継承に使用されます。これらについては、Java Core クエストの最初の部分で確認します。
最後に、最後のグループはstatic
、、、、および修飾子で構成されます。と についてはすでに少しはご存知でしょう。キーワードは、クラスまたはメソッドを抽象化するために使用されます。Java Core クエストで継承について学ぶと、より詳細な情報が得られます。final
default
abstract
static
final
abstract
7. オブジェクトと変数の操作
オブジェクト、メソッド、変数を操作する場合、さらに 6 つのキーワードが使用されます。
new
instanceof
this
super
return
var
(Java 10以降)
演算子new
は新しいオブジェクトを作成するために使用されます。それはすでにご存知でしょう。
演算子instanceof
は、変数に特定の型のオブジェクトへの参照が含まれていることを確認するために使用されます。あなたはすでにそれをよく知っています。
このthis
キーワードは、インスタンス変数とメソッドのシャドウイングによって発生する問題を解決するために使用されます。あなたもこれを勉強しましたね。
キーワードsuper
は に似ていますthis
が、親クラスのメソッドと変数を参照するために使用されます。親クラスはスーパークラスとも呼ばれます。
このreturn
ステートメントは、メソッドの値を返したり、メソッドの実行を終了したりするために使用されます。
最後に、var
型が自動的に推測される変数を宣言します。これについてはすでにご存知でしょう。
8. マルチスレッド化
Java 構文のレベルでは、マルチスレッドはわずか 2 つの単語で表されます。
synchronized
volatile
私たちはそれらに触れることさえしません。Java マルチスレッドのクエストに進んでから、さらに詳しく見ていきましょう。
9. その他
他に 4 つの特別なキーワードがあります。
native
transient
assert
strictfp
native
メソッド宣言の前に記述できる修飾子です。これは、メソッド コードが Java ではなく C++ で記述され、Java マシン (つまり DLL) に埋め込まれていることを意味します。おそらくすでにご想像のとおり、Java マシン自体も C++ で書かれています。多くの標準ライブラリ メソッドと同様です。
transient
インスタンス変数(クラスのフィールド)の前に記述できる修飾子です。これは、クラスのオブジェクトをシリアル化するときに、マークされた変数をスキップ (または無視) するように Java マシンに要求します。シリアル化について詳しくは、Java Collections クエストをご覧ください。
assert
も C++ から Java に来ています。これを利用すると、コードに追加のチェックを追加できます (変数が null かどうかをチェックするなど)。ここで重要なことは、これらのチェックがコンパイル時に有効または無効になることです。
内部テスト用にプロジェクトをビルドできます。これらのチェックは (ビルドに含まれて) 実行されます。または、コンパイル中にそれらを無効にして、ユーザーに提供されるプログラムのバージョンを作成することもできます。
strictfp
キーワードとインテル プロセッサーの優れた精度については、すべてをご紹介します。
10. 予約されているが使用されていない
予約されているものの使用されていない 2 つのキーワードもあります。
const
goto
これらは C++ 言語の遺産でもあり、存在し、使用されています。
11. キーワードではない
正式には、、true
およびfalse
定数null
はキーワードではありません。とは言え、それぞれに特徴があります。メソッドtrue
や変数に名前を付けることはできませんfalse
。コンパイラはそのようなコードを理解できないため、コンパイルしません。
GO TO FULL VERSION