0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Java】匿名クラスについて

Last updated at Posted at 2018-11-03

#匿名クラスとは

  • 内部クラスとも、 無名クラスともいう。無名のとおり、名前の無いクラスです。
  • 通常のクラスと異なり、コンストラクタと処理部分の記載を同時に行う。

#匿名クラスの実装サンプル

Sample1.java
// 匿名クラスで使われるインターフェース
interface I_Hello {
  public void print();
}

// 呼ぶ側のクラス
public class Sample {
	public static void main(String[] args) {

		I_Hello p = new I_Hello() {
			@Override
			public void print() {
				System.out.println("Hello World");
			}
		};
		p.print();
	}
}
  • 匿名クラスの実行結果
Hello World

#匿名クラスを使わないで実装した場合のサンプル

Sample2.java

// インターフェース
interface I_Hello {
	public void print();
}

class Hello implements I_Hello {
	@Override public void print(){
		System.out.println("Hello World");
	}
}

// 呼ぶ側のクラス
public class Sample2 {
	public static void main(String[] args) {

		I_Hello p = new Hello();
		p.print();
	}
}
  • 実行結果
Hello World

#匿名クラスを使う場合と使わない場合を比較して

  • 上記、サンプルを見るように、匿名クラスを使わない場合、インターフェースを実体化するクラスHelloを用意しなくてはならないので、匿名クラスと比べて大掛かりとなってしまっています。
  • 匿名クラスの場合はシンプルに記載できます。
0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?