java

java

Javaの通常クラスと匿名クラスの違いと使い方

以前の記事で「通常のクラスと匿名クラスの書き方の比較を見たい」という意見があったので、少し補足を行います。サンプルコードの通り、匿名クラスの場合、クラスに名前を付ける必要が無く、またオブジェクト生成と同時に処理を定義することができます。これ...
java

Javaで引数の参照型変数をメソッド内で変更する方法

参照型変数を引数としてメソッドに渡し、呼び出し先のメソッドの中でその参照型変数に変更を入れた場合、呼び出し元でもその変更内容を参照することができます。ソースコードで言うと、以下のような形で呼び出し元に影響を与えることができます。(isDis...
java

Javaで例外発生後に例外メッセージを変更する方法

例外オブジェクトにはメッセージが格納されており、getMessage()メソッドでそのメッセージを取得することができます。しかし、このメッセージはコンストラクタでのみ設定可能であり、メッセージを後で変更するメソッドは用意されていないため、例...
java

Javaで例外を先に生成して後でthrowする方法

通常のjavaのソースコードでは、例外を発生させると同時にthrowしていると思います。しかし、例外クラスもクラスの一つであり、newするとオブジェクトが生成されますので、先に例外クラスのオブジェクトを生成し、オブジェクトとしてやりとりした...
java

リスコフの置換原則とは?その概要と適用方法

リスコフの置換原則とはオブジェクト指向の設計の原則の一つであり、「基本クラスをサブクラスに入れ替えても問題なく動かなけらばならない」という原則です。 もしサブクラスに入れ替えると正しく動かなくなるのであれば、クラスを利用する側はサブクラスを...