Java クラス・メソッド・フィールド
Javaはオブジェクト指向プログラミング言語であるため、クラスを用いる。むしろJavaはこれが要なので必要不可欠。
クラス
code:class-define.java
class ClassName {
// ...
}
クラス名の基本的な定義はこれ。ソースコードのファイル名と同じクラス名にし、英大文字で始める。(特に公開範囲の場合はこれを厳守する。そうしないと/yuzulia-sa/intellij-idea.iconに突っ込まれる。)
継承するクラスがある場合はextends、インターフェースを含めるにはimplementsを使う(詳しくは→Java クラス 応用) code:class-addon.java
class MainClass {
// 省略
}
class SubClass extends MainClass {
// MainClassのメソッドなどが引き継がれる
}
extendsは一つのみ、implementsは複数指定できる。
クラスはこの他にもクラスの継承や抽象クラスなどがある。これらを書いているとそれだけでページ尺がかなり持ってかれそうなので別ページに書くことにする。→Java クラス 応用 クラスのコンストラクタ
クラスのコンストラクタの処理を書くにはクラス名と同じ名前のメソッドを書く。
code:constructor-class.java
public class ConClass {
// 処理
}
}
クラスインスタンス作成
クラスのインスタンスを作るにはnewを使う。
code:class-instance.java
class InstanceClass {
// メソッドなどを書く
}
public class MainClass {
public static void main(String[] args) {
InstanceClass ic = new InstanceClass(); // <作成するクラス型> <変数名> = new <クラス>(); }
}
メソッド
クラス内で何かしらを処理するためのもの。
code:method.java
class Method {
}
}
Javaのメソッドは引数(型含む)が異なる場合は同じ名前のメソッドを定義することができる。
code:method-multi.java
class Method {
public static void main(String[] args) {
Method m = new Method();
m.hoge(1); // 数値: 1
m.hoge("string"); // 文字列: string
}
void hoge(int i) {
System.out.println("数値: " + i);
}
void hoge(String s) {
System.out.println("文字列: " + s);
}
}
同じメソッド名は返り値は同一にする必要がある。
コンストラクタメソッドも上記と同じように、引数が異なるメソッドを定義することができる。
フィールド
code:field.java
class Field {
}