ヤマムギ

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とそのサブクラスは例外処理をしなくてもコンパイルエラーにならない!!!


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

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

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

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

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

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

 - Java, study , ,

ad

ad

  関連記事

JBUG(Japan Backlog User Group) 記念すべき大阪開催の勉強会1回目に参加しました

JBUGが我らがマイタウン大阪で開催されるとのことで、お久しぶりのTAMさんにお …

Innovation EGG 第4回 『各クラウドの現状とこれから』に参加してきました!

Innovation EGG 第4回 『各クラウドの現状とこれから』に参加させて …

JAWS-UG北陸新幹線 ( 福井開催 )に参加しました

福井駅前で、JAWS-UG北陸新幹線が開催されましたので参加しました! 大阪駅か …

「【大阪リージョンオープン記念】AWS Expert Online for JAWS-UG #14」に参加しました

AWS Expert Online for JAWS-UG #14に参加しました …

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

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

「JAWS DAYSに行きたくても行けなかった人に捧ぐ!AWSユーザーが教えてくれるAWSにまつわる最新事情」で運営と発表をしました

JAWS DAYS 2017のre:Capを大阪で開催しました。 JAWS DA …

JAWS DAYS 2021の思い出(配信とランニング)

JAWS DAYS 2021前夜 前日は移動があったので、前夜祭をモバイルで見聞 …

「JAWS-UG 名古屋 AWS Demo-1グランプリ」を開催しました

「JAWS-UG 名古屋 AWS Demo-1グランプリ」を開催しました! 「開 …

Developers Summit 2018 「将棋プログラムPonanzaにおける強化学習、ディープラーニングとその先」を聞きました

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

Developers Summit 2024「GitHub Copilotは開発者の生産性をどれだけ上げるのか? ZOZOでの全社導入とその効果」を見ました

株式会社ZOZO 技術本部 技術戦略部 CTOブロック テックリード 堀江 亮介 …