オブジェクト指向とは
ソースコードの分け方の一つ
Carクラス
┗機能 メソッド
┗属性 フィールド(変数)
フィールドはクラスブロック直下で宣言された変数。そのクラスの情報を表す
コンストラクタ
-インスタンス化されると同時に自動 で動き出す特殊なメソッド
-フィールドに実体を定義するうえで 必要な初期値を代入する役割を担う
-「this」は「このインスタンス」という意味を表す
this() : コンストラクタ
this.変数名 : フィールド変数
-コンストラクタは一番深いものから動く
-コンストラクタからコンストラクタを呼ぶ際は、呼び出し元の コンストラクタの先頭で呼ばなければならない
-メソッド内のローカル変数とフィールド変数が同じ名称の 場合、ローカル変数が優遇される
カプセル化
privateやpublicといったアクセス修飾子を用い、外部クラスからの フィールドやメソッドへのアクセスを制御すること
アクセス制御
private:自クラス内からのアクセスのみを許す修飾子(オブジェクト指向では基本的にフィールドにはprivateをつける)
public:外部クラスに公開したいフィールドやメソッドにつける。
mainメソッドにpublicが用いられる理由
→mainメソッドはJVMから呼び出されるが、 JVM自体がクラスの外にあるためpublicが必要になる
継承
-重複するコードを排除できる。差分のみのプログラミングで済む
-class サブクラス名 extends スーパークラス名{}
-スーパークラス:継承元となるクラス
-サブクラス:継承先となるクラス
-Javaでは単一継承のみ
-コンストラクタは継承されない!