汎用クラスのカスタマイズ
汎用クラスを定義する理由は、クラスで操作する参照データ型が不確定な場合です.
汎用クラスを採用し、拡張を完了します.
例えば学生クラスがあります
先生のクラスがあります.
汎用クラスの定義Utils
public主クラス
汎用クラスを採用し、拡張を完了します.
例えば学生クラスがあります
Student{
Student(){
System.out.println("I'm a student.....");
}
}
先生のクラスがあります.
Teacher{
Teacher(){
System.out.println("I'm a teacher.....");
}
}
汎用クラスの定義Utils
class Utils<Kind>
{
private Kind k;
public void setObject(Kind k){
this.k=k;
}
public Kind getObject(){
return k;
}
}
public主クラス
public class GenericDemo{
public static void main(){
Uitls<Teacher> ut=new Utils<Teacher>();// ,
Utils<Student> us=new Utils<Student>();//Teacher Student
ut.setObject(new Teacher());
Teacher teacher=ut.getObject();//
// I‘m a teacher。。。
us.setObject(new Student());
Student student=us.getObject();//
// I‘m a Student。。。
ut.setObject(new Student());
Teacher teacher=ut.getObject();// ClassCastException,
}
}