ヤマムギ

growing hard days.

*

Java SE 7 Silver対策勉強をしながらメモ 2015/2/4

      2015/03/29


本日は継承をどっぷりと。

一気に詰め込んで正解だったかも。

いつものごとくマークダウンで記載したのでそのままJetpack Markdownにお任せでアップします。

継承元に引数なしのコンストラクタがなくてもsuper()の生成を抑制すればよい

  • this(5)を追加する事でsuper(i)でSuperClassがインスタンス化出来るのでコンパイルによるsuper()の生成が抑制出来る

インターフェースも継承だから実装時にはゆるいアクセス修飾子でないとならないってことはpublicのみ

  • インターフェースでメソッドは修飾子を省略しても暗黙的に public abstractメソッドになる。
  • メソッドにpublic abstract以外のfinal static private protectedは指定出来ない
  • 変数はpublic static finalになる

クラスのキャスト

  • f1変数はLectureHall型のオブジェクトを参照しているので実行時にClassCastException例外が発生

ポリモフィズムを実現するには引数の型をインターフェースかスーパークラスにする

ポリモフィズムはstaticメソッドには適用されず、変数宣言時のクラス側のメソッドが呼び出される

– 出力は「Gurr! Gurr! Moo!」

ポリモフィズムが非staticメソッドで適用される例

– 出力は「Gurr! Moo! Moo!」

System.arraycopy()

  • System.arraycopy(①,②,③,④,⑤);
    ①コピー元配列名
    ②コピー元開始添え字
    ③コピー先配列名
    ④コピー先開始添え字
    ⑤コピーする要素数
  • コピー先の要素は置き換えられる

java.lang.Longはpublic final class Long というかラッパークラスはだいたいfinal

getClass()の戻り値は参照しているオブジェクトのクラス名(宣言ではない!)

  • empもManagerクラスを参照しているので、出力は「class Managerclass Manager」となる

先にキャストしてメソッドを実行する

  • Aは戻り値をTruth型にキャストしようとしているがSpeakクラスにはtell()メソッドがないのでコンパイルエラー
  • Bはそもそもtell()メソッドの戻り値はvoid型なのでTruth型にはキャストできないのでコンパイルエラー

参照変数のキャストは実行時に行われる!(コンパイル時にはエラーは検知できない!)

staticメソッドはsuper.メソッドでは呼び出せない

コンストラクタ内で自クラスの引数なしコンストラクタを呼び出すときはthis();を使う!!

抽象クラスは具象クラスを継承する事が出来る!!!

インターフェースのimplementsは「実装」(「継承」ではない)!!!


最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

 - Java, study , ,

ad

ad

  関連記事

Alexa Day 2018にサポーターの中の人として(初)参加しました

2018/2/11に神戸三ノ宮のスペースアルファ三宮で開催されたAlexa Da …

Java SE 7 Silver対策勉強をしながらメモ 2015/2/5

本日は例外。 いつものごとくマークダウンで記載したのでそのままJetpack M …

Alexa Day2018で「Alexa連携デバイスクラウドを構成するAWS ソリューション」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

「API Meetup Tokyo #29 ニッポンのAPIエコノミー最前線 〜国産APIが社会を変える〜」に参加しました

API Meetup Tokyoに来ました〜 会場はおしゃれなDEJIMAさんで …

「DeNA re:Invent 2018 報告会」でエンジニアが伝えたいre:Inventの話が聞けた

DeNAさんのre:Invent報告会に参加しました。 開催されているDeNAさ …

「MonotaRo Tech #3 テスト自動化」に行ってきました

モノタロウさんの「MonotaRo Tech #3 テスト自動化」に行ってきまし …

DevLOVE関西「SIerから飛び出して、それからどうするの?」に行ってきました

DevLOVE関西「SIerから飛び出して、それからどうするの?」に行ってきまし …

「Amazon SageMaker|機械学習エンジニア向けセッション+体験ハンズオン」に行ってきました

残念ながらハンズオンまではいれませんでしたが、前半のSageMakerの解説を聞 …

Developers Summit 2018 「夢は正夢〜「野球エンジニア」になるまでの歩み」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

AWS Summit 2016 Tokyoに参加してきました (Day3)

飛天3日目です。 JAWS-UGブースのすぐ前にあったこのお水がめちゃめちゃおい …