1 / 27
文档名称:

泛型-课件(PPT讲稿).ppt

格式:ppt   页数:27页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

泛型-课件(PPT讲稿).ppt

上传人:3047846861 2016/3/22 文件大小:0 KB

下载得到文件列表

泛型-课件(PPT讲稿).ppt

文档介绍

文档介绍:第 12 章?泛型( Generics ) –泛型入门–泛型进阶语法没有泛型之前 public class BooleanFoo { private Boolean foo; public void setFoo( Boolean foo) { = foo; } public Boolean getFoo() { return foo; } } public class IntegerFoo { private Integer foo; public void setFoo( Integer foo) { = foo; } public Integer getFoo() { return foo; } }没有泛型之前 public class ObjectFoo { private Object foo; public void setFoo( Object foo) { = foo; } public Object getFoo () { return foo; } } ? Object 为最上层的父类别,所以用它来实现泛型( Generics )功能没有泛型之前 ObjectFoo foo1 = new ObjectFoo(); ObjectFoo foo2 = new ObjectFoo(); (new Boolean(true)); // 记得转换操作型态 Boolean b = (Boolean) (); (new Integer(10)); // 记得转换操作型态 Integer i = (Integer) (); ?转换型态时用错了型态 ObjectFoo foo1 = new ObjectFoo(); (new Boolean(true)); String s = (String) (); ClassCastException 定义泛型类别? 之后,针对泛型( Generics )设计的解决方案?使用<T> 用来宣告一个型态持有者名称 T public class GenericFoo <T> { private T foo; public void setFoo( T foo) { = foo; } public T getFoo() { return foo; } }定义泛型类别?可以使用角括号一并指定泛型类别型态持有者 T真正的型态 GenericFoo <Boolean> foo1 = new GenericFoo <Boolean> (); GenericFoo <Integer> foo2 = new GenericFoo <Integer> (); (new Boolean(true)); Boolean b = (); // 不需要再转换型态 (b); (new Integer(10)); Integer i = (); // 不需要再转换型态 (i); 定义泛型类别?型态或接口转换不再需要–省去恼人的 ClassCastException 发生?编译程序可以帮您作第一层防线 GenericFoo<Boolean> foo1 = new GenericFoo<Boolean>(); (new Boolean(true)); Integer i = (); // 传回的是 Boolean 型态 :7: patible types found : required: Integer i = (); 定义泛型类别?定义及创建对象时不一定需要指定型态, 默认会使用 Object 型态?编译时编译程序会提出警讯 GenericFoo foo3 = ne