泛型是java中一个非常重要的知识点,在java集合类框架中泛型被广泛应用。本文我们将从零开始来看一下java泛型
Automobile类:
public class Automobile { private String name; public Automobile(String name){ this.name= name;
} public String getName() { return name;
} public void setName(String name) { this.name = name;
}
}Holder1类:持有指定的单一类型对象。
public class Holder1 { private Automobile automobile; public Holder1(Automobile automobile){ this.automobile = automobile;
} public Automobile get(){ return this.automobile;
}
}Holder2类:持有Object对象。
public class Holder2 { private Object object; public Holder2(Object object){ this.setObject(object);
} public Object getObject() { return object;
} public void setObject(Object object) { this.object = object;
}
}Holder3类:使用泛型,持有单一对象,但是暂时不指定其类型,到使用时决定持有何种对象。
立即学习“Java免费学习笔记(深入)”;
public class Holder3 <T>{ private T t; public Holder3(T t){ this.setT(t);
} public T getT() { return t;
} public void setT(T t) { this.t = t;
}
}主程序Main:
public class Main { public static void main(String[] args) { /*使用Holder1*/
Holder1 holder1 = new Holder1(new Automobile("Iphone"));
System.out.println(holder1.get().getName());
/*使用Holder2*/
//使holder2持有String类型对象
Holder2 holder2 = new Holder2("XiaoMi");
System.out.println(holder2.getObject());
//更改holder2中持有的对象类型
holder2.setObject(new Automobile("HuaWei")); //向下转型Object->Automobile
Automobile automobile = (Automobile) holder2.getObject();
System.out.println(automobile.getName());
/*使用Holder3*/
//告诉编译器holder3持有的对象类型为String //此时holder3拥有的对象类型只能为String,不能变更
Holder3<String> holder3 = new Holder3<String>("Vivo");
System.out.println(holder3.getT()); //告诉编译器anotherHolder3持有的对象类型为Automobile //此时anotherHolder3拥有的对象类型只能为Automobile,不能变更
Holder3<Automobile> anotherHolder3 = new Holder3<Automobile>(new Automobile("Oneplus"));
System.out.println(anotherHolder3.getT().getName());
}
}程序运行结果为:
Iphone XiaoMi HuaWei Vivo Oneplus
【相关推荐】
1. Java泛型讲解
以上就是总结Java泛型实例教程的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号