读书人

Java泛型方法回到泛型类型实例

发布时间: 2012-12-21 12:03:49 作者: rapoo

Java泛型方法,返回泛型类型实例

package com.study.generics;//通过泛型方法,返回泛型类型实例public class GenericsMethodDemo02 {public static void main(String []args) {GenericsMethodBackInstace<Float> demo02 = genericStaticMethod(100.33f);//如果传入100f则打印00.0System.out.println(demo02.getVariable());GenericsMethodDemo02 demo= new GenericsMethodDemo02();GenericsMethodBackInstace<Integer> demo03 = demo.genericMethod(100);System.out.println(demo03.getVariable());//==================================//因为泛型方法在GenericsMethodDemo02类型中定义则实例化调用本类的泛型方法//在使用泛型方法返回实例化的类返回数据GenericsBackInstace<String> demo04 = demo.geneMethod("泛型方法返回泛型类型实例化");System.out.println(demo04.getVariable());}//为什么泛型的方法命名: public <泛型类> 返回泛型方法类  泛型方法命名//方法中传入或返回的泛型类型由调用方法时所设置的参数类型决定public static <Type extends Number> GenericsMethodBackInstace<Type> genericStaticMethod(Type t) {GenericsMethodBackInstace<Type> instace = new GenericsMethodBackInstace<Type>();instace.setVariable(t);//通过泛型方法传递参数,返回泛型实例return instace;}public  <Type extends Number> GenericsMethodBackInstace<Type> genericMethod(Type t) {GenericsMethodBackInstace<Type> instace = new GenericsMethodBackInstace<Type>();instace.setVariable(t);//通过泛型方法传递参数,返回泛型实例return instace;}//================================================================public <Type> GenericsBackInstace<Type> geneMethod(Type t) {GenericsBackInstace<Type> instace = new GenericsBackInstace<Type>();instace.setVariable(t);return instace;}}class GenericsMethodBackInstace<Type extends Number> {//泛型受限制,中哦<T extends Number>中的T 可以自定义private Type variable;//T type简称public Type getVariable() {return this.variable;}public Type setVariable(Type variable) {return this.variable=variable;}}class GenericsBackInstace<Type> {//泛型受限制,中哦<Type>中的Type可以自定义如:Info,Object,Stringprivate Type variable;//T type简称public Type getVariable() {return this.variable;}public Type setVariable(Type variable) {return this.variable=variable;}}

?

读书人网 >编程

热点推荐