Java-8.10インタフェースの中のクラスを最初から認識します

1242 ワード

この章では、インタフェースのクラスについて説明します.
1.インタフェースの中のクラス:実はインタフェースの中のネストクラス(staticの内部クラスを使う)です.
interface Destination {
	String read();

	class Test2 implements Destination {

		private String label = "abc";

		@Override
		public String read() {
			return label;
		}
	}
}

2.特性
(1)インタフェースに実装を配置することは一般的にできないが,ネストクラスは例外であり,ネストクラスはインタフェース内で自動的にpublic static状態に変換されるため,インタフェースのルールに違反しない.
(2)ネストされたクラスは外部インタフェースを実現できる.
package com.ray.ch08;

public class Test implements Destination {

	@Override
	public String read() {
		return null;
	}

	public static void main(String[] args) {
		new Test();
		new Test2().read();//     new    
		Test2.test();//Test2 static
	}
}

interface Destination {
	String read();

	class Test2 implements Destination {

		public static void test() {
		}

		private String label = "abc";

		@Override
		public String read() {
			return label;
		}
	}
}

(3)シーンの使用
一般的には、上記の特性や例は使えませんが、各インタフェースの実装が使用されるように、いくつかの共通コードを作成したいときだけです(筆者も使用したことがなく、使用シーンが分かりません).
△どの読者が利用したか、教えてください.ありがとうございます.
まとめ:この章では、インタフェース内のネストされたクラスと、特性と使用シーンについて説明します.
この章はここまでです.ありがとうございます.
-----------------------------------
目次