ヤマムギ

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

  関連記事

ひと味違った南国の熱量を感じた高知の午後 ~「コミュニティリーダーズサミット in 高知 2018」に行ってきました~

「コミュニティリーダーズサミット in 高知 2018」という、イカしたイベント …

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

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

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

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

第四回 八子クラウド座談会in関西 「メーカーとITが急接近!?IoTってどないやねん!?」に参加しました

第四回 八子クラウド座談会in関西 「メーカーとITが急接近!?IoTってどない …

Windowsでの自動化について考える会に出席させていただいた

2015年2月21日 土曜日 詳細はSlideShareの資料を確認してもらえれ …

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

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

家族目線(HVC-C2W)SDKサンプルコードを実行してみました(iOS編)

オムロンさんの家族目線(HVC-C2W)SDKサンプルコードを実行してみました。 …

「MasterCloud #9 新春クラウドLT大会」でLTをさせていただきました

Alibaba Cloudを検索してたらconnpassの「MasterClou …

「第14回RxTStudy(Redmine勉強会)」に行ってきました

土曜日の真っ昼間に半分以上が初参加者さんで80席が満席。 それだけRedmine …

「大阪Pythonユーザの集まり」に行ってきました

「大阪Pythonユーザの集まり」 に行ってきました。 あんまりメモ取れてません …