2013年5月4日

第15章 泛型

摘要: 无论何时,只要你能做到,就尽量使用泛型方法。也就是说,如果使用泛型方法可以取代将整个类泛型化,那么就应该只使用泛型方法。对于一个static方法,无法访问泛型类的类型参数,所以如果static方法需要具有泛型能力,就必须使其成为泛型方法。要定义泛型方法只要将泛型参数列表置于返回值之前:public <T> void f(T x);就可以了。当使用泛型类时,必须在创建对象的时候指定类型参数的值,而是用泛型方法的时候,通常不必指明参数类型,因为编译器会为我们找出具体的类型。这称为:泛型推断(type argument inference)。在使用泛型方法的时候也可以显示的指明类型:Te 阅读全文

posted @ 2013-05-04 00:03 peter9606 阅读(180) 评论(0) 推荐(0) 编辑

第16章 数组

摘要: #placeholder# 阅读全文

posted @ 2013-05-04 00:02 peter9606 阅读(67) 评论(0) 推荐(0) 编辑

2013年5月3日

第14章 类型信息

摘要: 14.2 Class对象Class类:java.lang.Class一个继承自java.lang.Object的模板类,RTTI的核心。每一个类都有一个Class类的对象,比如一个Teacher类,相应的就有一个Teacher的Class对象(程序启动前保存在Teacher.class文件中)。所有的类都是在对其第一次使用时,动态加载到JVM中的。Java程序在它开始运行前并非被完全加载,其各个部分是在必须时才加载的。比如对于一个Teacher类,类加载器首先检查Tearcher的Class对象是否已经加载。如果尚未加载,默认的类加载器就会根据类名查找.class文件(Tearcher.cla 阅读全文

posted @ 2013-05-03 23:58 peter9606 阅读(161) 评论(0) 推荐(0) 编辑

第13章 字符串

摘要: #本不想记录这一章的内容,但为了连贯性,列出不太熟悉的几个点#13.5 格式化输出printf和format的用法 1 import static java.lang.System.out; 2 public class Test { 3 public static void main(String args[]){ 4 out.printf("%s, %f, %d\n", "abc", 5.4, 3); 5 out.format("%s, %f, %d", "abc", 5.4, 3); 6 } 7 }/*Out 阅读全文

posted @ 2013-05-03 14:10 peter9606 阅读(135) 评论(0) 推荐(0) 编辑

第12章 通过异常处理错误

摘要: 12.6 捕获所有异常12.6.1 栈轨迹java.lang.Throwable接口(java.lang.Excpetion实现了该接口)中的getStackTrace()方法返回栈轨迹的数组,我们来看一下它的使用。 1 import static java.lang.System.out; 2 public class WhoCalled { 3 static void f(){ 4 try { 5 throw new Exception(); 6 } 7 catch (Exception e) { 8 for(StackTraceElem... 阅读全文

posted @ 2013-05-03 12:55 peter9606 阅读(172) 评论(0) 推荐(0) 编辑

第11章 持有对象

摘要: #本章的题目翻译得太……叫容器不是更好么?#下面两幅图就是这一章节的完整阐述(来自http://en.wikipedia.org/wiki/Java_collections_framework)Collection ClassesMap Classes 阅读全文

posted @ 2013-05-03 00:37 peter9606 阅读(108) 评论(0) 推荐(0) 编辑

2013年5月2日

第10章 内部类

摘要: 10.1 创建内部类此标题如若修改为:定义内部类并创建,我觉得更合适一些。定义内部类的方法:把类的定义置于外围类的里面创建内部类的方法:OuterClassName.InnerClassName innerClassInstance = outerClassInstance.new InnerClassName(Para list);Sample: 1 class OuterClass { 2 public class Inner1 { 3 public Inner1(String name) { 4 this.name = name; 5 ... 阅读全文

posted @ 2013-05-02 16:00 peter9606 阅读(170) 评论(0) 推荐(0) 编辑

第9章 接口

摘要: 9.1 抽象类和抽象方法抽象类可以不含有任何抽象方法;含有抽象方法的类必须被声明为abstract。9.2 接口接口中可以含有域,隐含为static final(实际上也是Public的)。来看一下含有abstract class和interaface的继承体系的加载和初始化顺序。以下几条在书中没有讲到,中Java 6下试出来的:Interface中不能含有初始化块,标准的编译错误提示:The interface xxx cannot define an initinalizer.Interface中不能定义构造器。(因为interface中没有构造器和初始化块,所以interface中的域不 阅读全文

posted @ 2013-05-02 15:45 peter9606 阅读(100) 评论(0) 推荐(0) 编辑

第8章 多态

摘要: 8.2 转机Java中除了static, final & private(private归为final一类)方法,都是动态绑定。域同样是静态绑定。8.3 构造器和多态8.3.3 构造器内部的多态方法的行为在C++中,应该避免在构造函数中调用virtual方法,因为这样的结果可能不是你想要的。同样在Java中,应当避免在构造器中调用static, final或者private以外的方法。如果在基类的构造器中调用了被导出类覆盖的方法,实际上是动态绑定在起作用,也就是基类中调用了导出类的行为。 1 import static java.lang.System.out; 2 class Bas 阅读全文

posted @ 2013-05-02 14:47 peter9606 阅读(121) 评论(0) 推荐(0) 编辑

第7章 复用类

摘要: 7.2 继承语法如果基类没有默认构造函数,那么必须在Derive类的构造函数中显示调用Base类的带参构造函数。 1 import static java.lang.System.out; 2 class Base { 3 Base(String name){ 4 out.println("Base constructor"); 5 } 6 } 7 8 public class Derive extends Base { 9 Derive(){10 super("test"); /* If comment out this line, result a 阅读全文

posted @ 2013-05-02 13:44 peter9606 阅读(123) 评论(0) 推荐(0) 编辑

导航