﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Jason learn Java</title><link>http://www.blogjava.net/chargie/</link><description>Jason's Java Space</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 09:05:34 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 09:05:34 GMT</pubDate><ttl>60</ttl><item><title>New feature in Tiger: Generic Type</title><link>http://www.blogjava.net/chargie/archive/2005/08/11/9821.html</link><dc:creator>Jason</dc:creator><author>Jason</author><pubDate>Thu, 11 Aug 2005 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/chargie/archive/2005/08/11/9821.html</guid><wfw:comment>http://www.blogjava.net/chargie/comments/9821.html</wfw:comment><comments>http://www.blogjava.net/chargie/archive/2005/08/11/9821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chargie/comments/commentRss/9821.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chargie/services/trackbacks/9821.html</trackback:ping><description><![CDATA[Generic type in Tiger<br>
1. 受限范型是指类型参数的取值范围是受到限制的. extends关键字不仅仅可以用来声明类的继承关系, 也可以用来声明类型参数(type
parameter)的受限关系.例如, 我们只需要一个存放数字的列表, 包括整数(Long, Integer, Short),
实数(Double, Float), 不能用来存放其他类型, 例如字符串(String), 也就是说,
要把类型参数T的取值范型限制在Number极其子类中.在这种情况下, 我们就可以使用extends关键字把类型参数(type
parameter)限制为数字,<br>
2. 在创建范型类的对象的时候, 和创建普通对象基本类似, 必须提供具体的类类型来替代类型参数T (J2SE 5.0目前不支持原始类型作为类型参数(type parameter)).<br>
3. T和V虽然看起来是两个不同的类型参数, 但是在使用这个范型类的时候, T和V很有可能被替换成同一种类型. 因此在声明多个类型参数的范型类时, 要注意避免这种二义<br>
性错误.<br>
4. J2SE 5.0中提供了范型的通配符"?", "?"可以用来代替任何类型, 例如使用通配符来实现print方法<br>
public static void print(GenList&lt;?&gt; list) {}<br>
而非 public static void print(GenList&lt;T&gt; list){}<br>
5. 范型的一些局限<br>
5.1 类型参数不能实例化，例如<br>
T t = new T(); // compiling error<br>
5.2 不能实例化类型参数的数组<br>
T[] ts = new T[10]; //compilation error<br>
5.3 类的静态变量不能声明为类型参数类型<br>
public class GenClass&lt;T&gt; {<br>
&nbsp;&nbsp;&nbsp; private static T t; // compiling error<br>
}<br>
5.4 范型类不能继承自Throwable以及其子类<br>
public GenExpection&lt;T&gt; extends Exception{} // compiling error<br>
<br>
<a href="http://www.ibm.com/developerworks/cn/java/j-tiger-eclispe3/index.html?ca=dwcn-newsletter-java">The artical in dW.</a><br>
<img src ="http://www.blogjava.net/chargie/aggbug/9821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chargie/" target="_blank">Jason</a> 2005-08-11 15:46 <a href="http://www.blogjava.net/chargie/archive/2005/08/11/9821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>New feature in Tiger: Enum</title><link>http://www.blogjava.net/chargie/archive/2005/07/30/8788.html</link><dc:creator>Jason</dc:creator><author>Jason</author><pubDate>Sat, 30 Jul 2005 08:51:00 GMT</pubDate><guid>http://www.blogjava.net/chargie/archive/2005/07/30/8788.html</guid><wfw:comment>http://www.blogjava.net/chargie/comments/8788.html</wfw:comment><comments>http://www.blogjava.net/chargie/archive/2005/07/30/8788.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chargie/comments/commentRss/8788.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chargie/services/trackbacks/8788.html</trackback:ping><description><![CDATA[1.所有创建的枚举类型都扩展于 java.lang.Enum. Enum 是在J2SE 5.0
里定义的一个新类，它本身不是枚举类型.在创建枚举类型时，必须用enum
关键字，不能直接地定义一个继承Enum的类来创建一个枚举类型，尽管所有创建的枚举类型实际上都是Enum 的子类. 如果直接继承Enum，
compiler 就会报错(会导致编译错误).<br>
2.枚举类型里定义的每一个值都是枚举类型的一个实例,比方说High是Priority的一个实例.枚举类型又是扩展于Enum. 所以枚举类型的每一个值声明时， 缺省时都将映射到Enum(String name, int ordinal) 构造函数中.<br>
3.每一个创建的枚举类型都是Enum 的子类，除了上面调用父类 Enum 的构造函数外，枚举类型可以使用参数为定义一些自己的构造函数.当声明值时，只需调用此枚举类型定义的构造函数，而且不必添加 new 关键字.<br>
4.枚举类型每一个值都是public, static and
final的.也就是说，这些值是唯一的而且一旦定义了是不能被重写或修改.而且尽管在枚举类型每一个值声明时没有出现static关键字，实际上值都是
静态的, 而且我们不能在值前面加上static, public，final 修饰符<br>
5.一是这些枚举类型的构造函数都是私有的.它是不能被其它的类或者其它的枚举类型调用的. 而且这个私有修饰符是由编译器自动加的,如果我们定义这些构造函数时,在前面加上public 修饰符, 就会导致编译错误. 二是变量定义必须在枚举类型值定义之后. <br>
6.Summary<br>
使用枚举类型是很简单的.它定义一个固定的、封闭的值集合，然后，在需要这些值中的某一个值时，可以通过它的名称来指定它，这就是枚举类型的简单性.枚举
类型的值就是枚举类型的实例，编译器会确保没有传入其他的类型，这就是枚举类型的安全性.这些枚举类型就是类本身，因此，可以对类进行的所有操作同样可以
作用于枚举类型上.我们要小心使用构造函数和函数重载方法，不要因为这些特性可用就任意使用它们.比如特定于常量的类主体，大多情况下可以用Switch
语句来代替，更容易让人理解而且不容易出错.我们也看到了Eclipse
3.1平台对枚举类型的支持，包括提供创建模板，错误信息提示等.总之，枚举类型的灵活应用能极大的方便和简化了我们的开发工作.<br>
<br>
Original article: <span class="astitle"><a href="http://www-128.ibm.com/developerworks/cn/java/j-tiger-eclispe1/">在Eclipse 3.1中体验J2SE 5.0的新特性</a></span><img src ="http://www.blogjava.net/chargie/aggbug/8788.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chargie/" target="_blank">Jason</a> 2005-07-30 16:51 <a href="http://www.blogjava.net/chargie/archive/2005/07/30/8788.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Begins...</title><link>http://www.blogjava.net/chargie/archive/2005/07/04/7092.html</link><dc:creator>Jason</dc:creator><author>Jason</author><pubDate>Mon, 04 Jul 2005 07:18:00 GMT</pubDate><guid>http://www.blogjava.net/chargie/archive/2005/07/04/7092.html</guid><wfw:comment>http://www.blogjava.net/chargie/comments/7092.html</wfw:comment><comments>http://www.blogjava.net/chargie/archive/2005/07/04/7092.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chargie/comments/commentRss/7092.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chargie/services/trackbacks/7092.html</trackback:ping><description><![CDATA[Here is a good place.<br>
We can talk about Java here.<br>
<br>
<img src ="http://www.blogjava.net/chargie/aggbug/7092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chargie/" target="_blank">Jason</a> 2005-07-04 15:18 <a href="http://www.blogjava.net/chargie/archive/2005/07/04/7092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>