「Java/文法/クラス」の版間の差分
削除された内容 追加された内容
→列挙型( enum ): 多くのモダンなプログラミング言語には、列挙型( enum )が提供されていますが、Java ではクラスとして定義されるので、フィールドやコンストラクターを含むメソッドも定義できます。 タグ: 2017年版ソースエディター |
用語の統一 タグ: 2017年版ソースエディター |
||
1 行
== 定義方法 ==
コード例1:
;ClassSyntax.java:<syntaxhighlight lang=
/**
* 商品を表す。
39 行
; 解説
: 4行目から14行目までがクラス{{code|Product}}の、16行目から31行目までがクラス{{code|ClassSyntax}}の定義である。
: {{code|Product}}では、{{code|Product}}の実体 (インスタンスと呼ばれる) ごとに異なる値を持つことができる変数 (以下、
: {{code|ClassSyntax}}の{{code|main}}「メソッド」では、{{code|Product}}のインスタンスをnew演算子 (new演算子に到達したときに実行される処理群を「コンストラクタ」の中に記述することができる。
: コンストラクタについては後述) を用いて生成することができる。
51 行
で実行することになります。
C言語やC++とは異なり、Javaには「構造体」
== クラス変数と
クラス内の上述<code>String name;</code>のような要素(フィールドという)を宣言する際、下記のようにstatic 修飾子をつけて宣言したら、そのフィールド要素を「クラス変数」という。
class Product {
static String name; // クラス変数
}
</syntaxhighlight>
一方、static無しで宣言したら
<syntaxhighlight lang=
class Product {
String name; //
}
78 ⟶ 76行目:
一方、クラス変数の所属先は、クラス自体にある。この仕様のため、比較的に容易に、第三のクラスからも値の読み書きがしやすい。
;ClassSyntax.java:<syntaxhighlight lang=
/**
* static を使わない場合
89 ⟶ 87行目:
class Product {
String name; //
int price;
}
114 ⟶ 112行目:
;ClassSyntax.java:<syntaxhighlight lang=
/**
* static を使う場合
153 ⟶ 151行目:
下記のようなコードになる。
;ClassSyntax.java:<syntaxhighlight lang=
class Product {
String name;
200 ⟶ 198行目:
例2:
:<syntaxhighlight lang=
class Product {
/**
234 ⟶ 232行目:
:構文 <syntaxhighlight lang=
class クラス名 {
252 ⟶ 250行目:
例3:
:<syntaxhighlight lang=
class Product {
/**
|