Java入門の汎用性
JDK 1.5には、クラス宣言時のラベルでクラス内の属性のタイプまたはメソッドの戻り値、パラメータのタイプを表す汎用機能が追加されました.複数の汎用型の間をカンマで区切ります.汎用クラスのフォーマット を作成
アクセス権限classクラス名<汎用、汎用、汎用......>{
属性;
方法;
}
その他の一般的な作成フォーマットは、次のとおりです.オブジェクトフォーマット を作成する
クラス名<特定のタイプ>オブジェクト名=newクラス名<特定のタイプ>()汎用インタフェース interfaceインタフェース名<汎用ID>{...}
classサブクラスimplementsインタフェース名{...}汎用方法 アクセス制限<汎用ID>汎用IDメソッド名(パラメータ) 汎用配列 汎用メソッドを使用する場合、汎用配列を渡したり返したりすることができます.
コードの例:
アクセス権限classクラス名<汎用、汎用、汎用......>{
属性;
方法;
}
その他の一般的な作成フォーマットは、次のとおりです.
クラス名<特定のタイプ>オブジェクト名=newクラス名<特定のタイプ>()
classサブクラスimplementsインタフェース名
コードの例:
package Generic_Pack;
class MyClass<T>{
public T valT;
public T getValT() {
return valT;
}
public void setValT(T valT) {
this.valT = valT;
}
public void tell(){
System.out.println(this.getValT().toString());
}
}
public class Generic_Class {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MyClass<String> myobj = new MyClass<String>();
myobj.setValT("hehehehe !");
myobj.tell();
myfunc(myobj);
}
public static void myfunc(MyClass<?> obj) {
System.out.println(obj);
}
}
コード出力:hehehehe !
Generic_Pack.MyClass@2a139a55