ヤマムギ

growing hard days.

*

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

      2015/03/29

本日は継承。

眠すぎるのでちょっとだけ。
本当に少しだけでもいいから続ける。それが、一番、大事。多分。

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

toString()のオーバーライドと思いきやローカル変数の罠

[java]
public class Test{
private String msg; //インスタンス変数
public Test(){this(“Good Morning”);}
public Test(String msg){msg = msg;}//ローカル変数への処理
public String toString(){return (“msg : “+ msg);}//インスタンス変数はnull

public static void main(String[] args){
System.out.println(new Test()); //toString()が実行される
}
}
[/java]

  • 出力は「msg : null」
  • System.out.printlnの引数にオブジェクトを与えるとtoString()が実行される
  • toString()をオーバーライドしている
  • でも引数付きのコンストラクタではインスタンス変数への代入をしていない

デフォルトコンストラクタがないコンパイルエラーの発生行

[java]
class A{
A(String msg){ //引数付きのコンストラクタのみのスーパークラス
//code
}
}

class B extends A{
B(){ //サブクラスのコンストラクタ実行時にsuper()が実行されるのでここでコンパイルエラー
//code
}
}
public class Test{
public static void main(String[] args){
B b = new B();
}
}
[/java]

  • 2行目はただの引数付きのコンストラクタ
  • 7行目の実行でsuper()が実行されるが、スーパークラスには引数なしのコンストラクタがないからコンパイルエラーとなる

最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - Java, study , ,

ad

ad

  関連記事

Developers Summit 2018 「NRIの働き方改革 – 開発スタイルから文化まで変えた軌跡 -」を聞きました

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

「今できないことだとしても、やるべきことをやっていく」『挑まなければ、得られない Nothing ventured, nothing gained.』読書感想

「挑まなければ、得られない Nothing ventured, nothing …

「Serverless Meetup Japan Virtual #15 – re:Cap」を視聴しました

オンラインで時間がかぶっていなかったので、はしごしました。 場所移動がないのもオ …

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

今日から練習問題を再確認。 ひと通りテキストを終えた安心感からかイージーミスが連 …

「Engineering Productivity Meetup #2 in 大阪」に参加しました

AWS SSOのしくみを AWS IAM Identity Centerへ移行し …

JAWS DAYS 2018 振り返り(特にコミュニティフレンドシップ)

JAWS DAYS 2018を振り返りたいと思います。 やったこと コミュニティ …

第5回 八子クラウド座談会in関西 「関西まるっとIoTでやったらんかい♬」に行ってきました

SIMの契約変更のはざまで通信がほぼ使えず。 そんな状態なので、Twitterで …

Linux Mint 17 MATE 64bit にJDKを入れなおしてEclipseをインストールする

Linux Mint 17のJDKを入れなおす ソフトウェア・パッケージを最新に …

「コミュニティリーダーズサミット in 高知 2023初鰹編」に参加しました

始まりました! 今回のテーマは「旗を立てる ~Raise Your Flag~」 …

「Talend ハンズオンセミナー」に行ってきました

Talendとは データの整備・統合 ビッグデータ対応 ストリーミングデータ ア …