ヤマムギ

growing hard days.

*

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

      2015/03/29


練習問題4日目。

とりあえずひと通り終了。

317問中288問正解、90.85%。
でも2回目でこの結果は不本意。

いつものごとく間違えた箇所とか要注意と思った箇所をマークダウンでメモしたのでそのままJetpack Markdownにお任せでアップします。

final代入禁止を見極める!!!

[java]
public class Cow {
final static Cow cow = new Cow();
public static void main(String[] args){
Cow cowOne = cow;
Cow cowTwo = cow.dive(cow);
Cow cowThree = cow;
}

Cow dive(Cow c){
c = new Cow();
return c;
}
}
[/java]

  • 2行目でfinal修飾子で宣言しているので11行目で代入禁止のコンパイルエラーとなりそうだが、これは大丈夫。
  • ただし、mainの中やdiveの中で cow = new Cow()とすると代入禁止のコンパイルエラーとなる。

戻り値がサブクラスであればオーバーライド可能

[java]
class Test0{
Test0 getTest(){
return new Test0();
}
}

public class Test extends Test0{
Test getTest(){
return new Test();
}
public static void main(String[] args){
//code
}
}
[/java]

今日の注意点

継承のない別クラスの同名メソッドに惑わされない!!!

String str = nullの出力は「null」!!!

インターフェースのメソッドは暗黙的に「public abstract」なので実装時はpublic!!!

インターフェースの変数は「public static final」なので定数!!!

インターフェースを抽象クラスで実装する場合全てのメソッドを実装しなくても良い!!!

継承する具象クラスに任せればよい。

インスタンスメソッドで外部に公開したくないメソッドはprivate修飾子でもカプセル化のルールには反しないが、インスタンス変数はprivateで隠蔽しないとカプセル化のルールに反する!!!

try~catch~finallyはcatch,finallyのいずれかどちらでも省略できる!!!

Integer,Shortなど参照型ラッパークラスの初期化していない事によるNullPointerException問題に注意!!!

スーパークラスのthrowsに対してサブクラスは同じクラスかサブクラスかthrowsしないかRuntimeExceptionとそのサブクラスを指定するか!!!

RuntimeExceptionとそのサブクラスは例外処理をしなくてもコンパイルエラーにならない!!!


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

 - Java, study , ,

ad

ad

  関連記事

JAWS FESTA 東海道 2016に行ってきました

JAWS FESTA 2016に行ってきました。 今回はボランティアスタッフ参加 …

「kintone Café 大阪 Vol.17 〜 kintoneと連携するスマホアプリを作ってみよう! 〜」会場スポンサー初体験!

kintone Café 大阪で弊社の会場を使ってもらいました。 この会社に来て …

走った!しゃべった!呑んだ!JAWS DAYS 2016 re:cap 〜JAWS-UG大阪&関西女子会 特別合同企画〜

先日のJAWS DAYS 2016 re:cap 〜JAWS-UG大阪&関西女子 …

kintone Café 大阪 vol.11で登壇しました

kintone Café 大阪 vol.11「kintoneと色々つないでみる …

持ち帰って欲しいもの

「カスタマーサクセス Advent Calendar 2018」にお誘いを受けま …

「Bluemix勉強会 -Watson、Node-RED 最新情報を学ぼう!」に行ってきました

「Bluemix勉強会 -Watson、Node-RED 最新情報を学ぼう! 」 …

「SendGrid Night in Osaka #2」でLTさせていただきました

SendGrid Night in Osaka #2でLTをしてきました。 会場 …

LINEとAWSとTwilioとkintoneでBOTを作ってみるハンズオン (5) LINEからの投稿へ返信と登録処理

作る部分 LINEからのメッセージを受けて各APIより返信し、StepFunct …

Alexaで操作するスマートホームシステムの概要(Alexa Day 2019でのブログ)

以下は、気になったことのメモとか感想を書いています。 登壇者、発表者、主催企業な …

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~」に行ってきました

「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く …