雑木帳

囲碁、読書、資格(英語・IT)についてのブログです

Java Silver 勉強その2

スポンサーリンク

Java Silverの勉強その2になります。

その1はこちら

 

 

メソッドとカプセル化の操作

可変長引数

可変長引数をもつメソッド

void test( int ... val ) {

  //ここにコードを書く

}

引数を幾つでも渡すことが出来る。渡された引数は配列に置き換えられる。

使用する際は2つの注意点がある。1つ目、異なる型は入れられない、2つ目、可変長引数は最後の引数にする

 

staticなフィールド

staticなフィールドはstatic領域に配置される。

同じクラスから作られた異なるインスタンスがあった時に、staticなフィールドの値は共有される。

 

オーバーロード

引数が異なれば同名のメソッドを複数宣言することが出来る。

引数が異なるというのは、引数の数引数の順番引数の型が異なれば良い。

アクセス修飾子は関係ないので注意。

 

コンストラクタ

クラスの名前と同名newした時に呼び出されるメソッド。戻り値は記述出来ない。(戻り値があるものはメソッドになる)

コンストラクタは宣言しないと、引数なしのデフォルトコンストラクタが自動的に宣言されるのだが、1個でも宣言してしまうとデフォルトコンストラクタは宣言されなくなるので注意。

 

アクセス修飾子

クラス、メソッドやフィールドの宣言に記載するすることで、他のクラスからのアクセス制御に使用する。以下4つがある。(上が緩く、下が厳しい)

  • public:全てのクラスからアクセス可
  • protected:継承しているサブクラスからアクセス可(パッケージが異なっていてもOK)
  • なし:同じパッケージに属するクラスのみアクセス可
  • private:同じクラスのみアクセス可

 

継承の操作

継承

Aを継承したBを定義した時には、Aのインスタンスと差分のインスタンスを合わせて、Bのインスタンスになるイメージ。

 

インターフェース

クラスから型だけ取り出したもの。以下注意点。

  • インターフェースのメソッドは全てpublic型
  • インターフェースに宣言する抽象メソッドには処理は書けない
  • インターフェースの多重実現可

抽象クラス

インターフェースとクラスの両方の性質を持つ(型だけの宣言も出来るし、実装も出来る)

実装をしない抽象メソッドは、サブクラスでオーバーライドして実装する必要がある。

 

オーバーライド

オーバーロードと間違えやすいので注意。オーバーロードの注意点

  • シグネチャが同じ
  • 戻り値型は同じかサブクラス
  • アクセス修飾子は同じか緩いもの

 

 

徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

徹底攻略 Java SE 8 Silver 問題集[1Z0-808]対応

  • 作者: 志賀澄人,株式会社ソキウス・ジャパン
  • 出版社/メーカー: インプレス
  • 発売日: 2016/01/18
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る
 

 

広告を非表示にする