JAvaベースの汎用的な継承

1569 ワード

一般的な基本的な紹介と理解については、以下の記事を参照するか、詳細を参照してください.

汎用および汎用リレー


汎用(汎用抽象クラスの継承を含む)
汎用継承テスト
本編では簡単なList<>で説明します.
ArrayListはListを継承し、
ArrayListはListを継承していません
ListList
次のコードを参照してください.
/**
 * author Ding Chengyun
 * 2014-2-27
 */
package test;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * @author Ding Chengyun
 * 2014-2-27L
 */
public class ListTest {
	
	public void method1(List<Object> list) {
		
	}
	public void method2() {
		method1(new ArrayList<Object>());
		method1(new ArrayList<String>()); // 
		method1(new LinkedList<Object>());
	}

	public void method3(List<? extends Object> list) {
		
	}
	public void method4() {
		method3(new ArrayList<Object>());
		method3(new ArrayList<String>());
		method3(new LinkedList<Integer>());
	}
	
	public void method5(List<?> list) {// ? ? extends Object
		
	}
	public void method6() {
		method5(new ArrayList<Object>());
		method5(new ArrayList<String>());
		method5(new LinkedList<Integer>());
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List<String> list = new ArrayList<String>(20);
	}

}