初めに
「プロになるJava」という書籍でJavaの勉強を始めたが、初心者なもので用語をよく忘れてしまう。そこで忘れそうな知識を整理しようと思った。
整理
クラス
基本単位の1つ。データのルールを決める仕組み。
メソッド
処理をひとまとめにしたもの。Javaはメソッドを呼び出すことで処理が進む。
値.メソッド名()
値.メソッド名(引数)
オーバーロード
メソッド名が同じでも異なる引数を受け取るメソッドを用意すること。そのため引数の区別も重要。
シグネチャ
「メソッド名・受け取る引数・戻り値」の種類をあわせたもの。
基本型・プリミティブ型
メソッドを呼び出せない。
| 型 | 値の種類 |
|---|---|
int |
整数 |
| double | 実数 |
| boolean | 論理値 |
| char | 文字 |
参照型
クラスを含める基本型以外の型。メソッドを呼び出せる。
API
クラス単位で機能をまとめて、他のプログラムから呼び出せるようにした"部品"のこと。
ライブラリ
APIをまとめたもの。
java.time.LocalDateTime.now()
ここで、
java |
パッケージ |
|---|---|
time.LocalDateTime |
クラス |
| now() | メソッド |
である。java.time.LocalDateTime.などのパッケージ名まで含めたクラス名を完全修飾名と呼ぶ。
staticメソッド
クラス名を指定して呼び出すメソッドのこと。
クラス名.メソッド(引数)
インスタンスメソッド
値に対して呼び出すメソッドのこと。
値.メソッド(引数)
オブジェクト
基本型以外の値。具体的には、クラスに基づいて生成されたデータのこと。オブジェクトはメソッドを呼び出せる。オブジェクトはクラスの実態である(→インスタンス)。
インスタンス
クラスから見たときのオブジェクトのこと。インスタンスは「実態」を意味する。
インスタンス化
オブジェクトを生成すること。
命名規則
クラスやメソッドの命名ルール
| 要素 | 規則 | 例 |
|---|---|---|
| クラス | 単語の頭文字のみ大文字 |
String, SampleForm
|
| メソッド | 先頭の文字は小文字、単語の頭文字は大文字 |
main,setSize
|
| 変数 | メソッドと同様の命名規則 |
button, sampleText
|
| 定数 | すべて大文字、単語と単語はアンダースコアで区切る |
BLUE、TYPE_INT_RGB
|
| パッケージ | 全て小文字 |
projava、javax.swing
|
ジェネリクス
扱う型を<型>のように囲んで指定する記法。また以下の例のようにnamesから型を予想できる場合、<String>とすべきところを<>と省略できる。これをダイヤモンドオペレータと呼ぶ。
var names = List.of("yamamoto", "kishida", "sugiyama")
var authors = new ArrayList<>(names)
イミュータブル
オブジェクトの内容を変更できないこと。例えばList.ofはイミュータブルである。