泛型是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{ 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 holder3 = new Holder3("Vivo");
System.out.println(holder3.getT()); //告诉编译器anotherHolder3持有的对象类型为Automobile //此时anotherHolder3拥有的对象类型只能为Automobile,不能变更
Holder3 anotherHolder3 = new Holder3(new Automobile("Oneplus"));
System.out.println(anotherHolder3.getT().getName());
}
} 程序运行结果为:
初阶PHP Apache MySQL网站设计来自作者多年学习、应用和讲授PHP的经验与体会,是专为学习PHP+MySQL数据库编程人员编与的入门教材。在最后二章设计了2个贴近实际应用的典型案例:留言本系统和论坛系统,每个案例先介绍开发思路、步骤,再给出全部源代码,使所学内容与实际应用紧密结合,特别是论坛系统将全书的案例串讲起来,力求使读者学到最贴近应用前沿的知识和技能。
Iphone XiaoMi HuaWei Vivo Oneplus
【相关推荐】
1. Java泛型讲解










