java5 学习笔记2

原创 2007年09月17日 23:21:00


 今天粗略的看了generic,泛型的基本功能,在C++中早就有了,不过Java中的generic的确多了很多东西,但是也正如许多人批判的,一大堆尖括号让代码变丑了,呵呵,不过我才刚开始学,没有体会


 基本功能不废话了,今天觉得比较印象深刻的是generic的类型转换,也就是说:
 LinkedList<Float> ff = new LinkedList<Float>();
 LinkedList<Number> nn ;
 nn = ff;
 这样是错误的,虽然Number是Float的父类,generic的类型转换只限于

基础类型,也就是说
 List<Float> kk = ff;
 是正确的。同样,如果
 Number n = new Float(3.2);
 ff.add(n);
 这样同样不能通过编译。


 之所以generic本身不能有类型转换(也就是使用参数的父类),我个人觉得主要是因为generic这个功能本身是一种编译期间的检查,而不是JVM的一种

改进,所有的generic类型,都会在编译期间被erasure(擦除)掉,实际上,上

面的代码经过编译后,JVM实际看到的代码应该是
 LinkedList ff = new LinkedList();
 具体的generic是不存在的,被擦除了。还有没有其他原因,还要继续深入学习才行~


 generic也可以进行类型限制,即类似下面
 class gTest<TT extends Runnable>{
  public void get(TT tt){
   tt.run();
  }
 }
 这里有点奇怪的是,Runnable明明是接口,但是这里却不用implements,而是统一用extends。我手头这本书没有讲,下次要借本专门的书来看看
 最后,关注《Java in a Nutshell 第五版》

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

疯狂JAVA讲义学习笔记5——面向对象2

包装类及其用法Java包含8种基本数据类型,不支持面向对象的编程机制。 为了将8种基本数据类型的变量当成Object类型变量使用,Java提供了包装类(Wrapper Class)。 基本数据类...
  • xundh
  • xundh
  • 2017-01-04 22:52
  • 249

Java学习笔记(5):2.面向对象之对象的this引用

对象的this引用

Java学习笔记--SSH框架整合(struts2、spring4、hibernate5)

一、SSH三大框架的概述   ssh为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。    集成SSH框架的系统从职责上分为四层:表...

MySql 基础学习笔记 1——概述与基本数据类型: 整型: 1)TINYINT 2)SMALLINT 3) MEDIUMINT 4)INT 5)BIGINT 主要是大小的区别 图 浮点型:命令

一、CMD中常用mysql相关命令 mysql -D, --database=name  //打开数据库 --delimiter=name  //指定分隔符 -h, --host=nam...

java学习笔记极品5

  • 2008-04-26 22:29
  • 1.02MB
  • 下载

【Cocos2d-html5游戏引擎学习笔记(11)】运动中速度效果

在我们使用Action系统动作的时候,比如MoveTo,在进行运动的时候总是在规定的时间内进行匀速运动,有时候可能会想添加一些加速度的效果,cocos2d-html5就依然和cocos2dx一样为我们...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)