代码改变世界

[转]《Java Generics and Collections》读书笔记四:构造函数,静态成员,嵌套类

2012-09-14 16:14 by Ball Cactus, 284 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.diybl.com/course/3_program/java/javaxl/20071220/92737.html参考资料:《Java Generics and Collections》 1. 构造函数这个没什么好说的,在一个泛型类中,类型参数在类声明的头部声明的,也就是接着class ClassName <T, U>。在定义构造函数时,不需要带上类型参数,函数体中就可以引用类型参数。不过在使用new创建对象时,需要在类名后面带上类型参数,否则将会导致一个未检查(Unchecked)的异常信息。 2. 静态成员静态成员最重要的一个特点,就是整个类都共享 阅读全文

[转]《Java Generics and Collections》读书笔记三:协变式覆盖与泛型重载

2012-09-14 16:08 by Ball Cactus, 209 阅读, 0 推荐, 收藏, 编辑
摘要:1.协变式覆盖在Java1.4及以前,子类方法如果要覆盖超类的某个方法,必须具有完全相同的方法签名,包括返回值也必须完全一样。Java5.0放宽了这一限制,只要子类方法与超类方法具有相同的方法签名,或者子类方法的返回值是超类方法的子类型,就可以覆盖。这样有什么好处呢?以Object类的clone方法为例:class Object {...public Object clone() { ... }}在5.0以前,如果子类需要重载clone方法,必须像下面这样写代码:class Point {public int x;public int y;public Point(int x, int y) 阅读全文

[转]《Java Generics and Collections》读书笔记二:子类化与通配符

2012-09-14 16:06 by Ball Cactus, 222 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.diybl.com/course/3_program/java/javaxl/20071220/92739.html1. 子类型与替换原则List<Number> 是 Collection<Number> 的子类型, 但 List<Integer> 却不是 List<Number> 的子类型, 如下面代码:List<Integer> ints = Arrays.asList(1,2);List<Number> nums = ints; // 编译错误nums.add(3.14); // 如果上面 阅读全文

[转]《Java Generics and Collections》读书笔记一:java泛型基本问题

2012-09-14 15:42 by Ball Cactus, 221 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.diybl.com/course/3_program/java/javaxl/20071220/92739.html1. Java的泛型实现采用"擦除法".编译器为我们完成类型擦除和必要的类型转换, 在运行时,每个泛型类只有一种类型. 具体地说, List<Integer>, List<String> 和 List<List<String>> 在运行时都将具有相同的类型: List//泛型是1.5中引入的一个新的概念,由于不用进行强制转换类型了,所以具有较高的安全性和易用性。因为泛型其实只是在编译器 阅读全文

[转]serializable接口说明-java

2012-09-13 21:59 by Ball Cactus, 209 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.cnblogs.com/blognetspace/articles/1576684.htmserializable接口说明-java下面是关于序列化的一个实例: 程序名称:SerializationDemo.java 程序主题:实现对象的序列化和反序列化 程序说明:该程序由实例化一个MyClass类的对象开始,该对象有三个实例变量,类型分别为String、int、double,是希望存储和恢复的信息。 import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.Objec 阅读全文

[转]Eclipse快捷键

2012-09-11 21:31 by Ball Cactus, 175 阅读, 0 推荐, 收藏, 编辑
摘要:转自:http://www.blogjava.net/bisal/archive/2007/02/23/100428.html行注释/销注释 Ctrl+/块注释/销注释 Ctrl+Shift+/ Ctrl+Shift+\查找 查找替换Ctrl+H Ctrl+F查找下一个/往回找 Ctrl+K Ctrl+Shift+K跳到某行 Ctrl+L,哈用惯了Editplus,不时会敲下Ctrl+G,查找当前元素的声明 Ctrl+G查找当前元素的所有引用 Ctrl+Shift+G重新组织Import Ctrl+Shift+O,能帮你一次去掉所有未使用的Import声明!快速修正 Ctrl+1引入某个类(接 阅读全文

[转] java package import

2012-09-10 21:44 by Ball Cactus, 479 阅读, 0 推荐, 收藏, 编辑
摘要:Java很诱人,但对于刚跨入Java门槛的初学者来说,编译并运行一个无比简单的Java没 错,但各种各样让人摸不着头脑的错误信息真的让你百思不得其解,许多在Java门口徘徊了很久的初学者就这样放弃了学习Java的机会,很是可惜。笔者也 经历过这个无比痛苦的阶段,感觉到编译难的问题就出在classpath的设置及对package的理解之上。本文以实例的方式,逐一解决在编译过程中所 出现的各种classpath的设置问题。本文实例运行的环境是在Windows XP + JDK 1.5.0。对其他的环境,读者应该很容易进行相应的转换。1. 下载并安装JDK1.5.0,并按默认路径,安装到C:\Pro 阅读全文

java文件名与类名之间的关系

2012-09-04 20:38 by Ball Cactus, 253 阅读, 0 推荐, 收藏, 编辑
摘要:1.Java保存的文件名必须与类名一致2.如果文件中只有一个类,文件名必须与类名一致3.一个Java文件中只能有一个public类4.如果文件中不止一个类,文件名必须与public类名一致5.如果文件中不止一个类,而且没有public类,文件名可与任一类名一致霸 阅读全文

转:C++单例模式

2012-08-30 10:17 by Ball Cactus, 154 阅读, 0 推荐, 收藏, 编辑
摘要:#include <iostream> using namespace std; //单例类的C++实现 class Singleton { private: Singleton();//注意:构造方法私有 virtual ~Singleton(); static Singleton* instance;//惟一实例 int var;//成员变量(用于测试) public: static Singleton* GetInstance();//工厂方法(用来获得实例) int getVar();//获得var的值 void set... 阅读全文

转:Java接口学习笔记

2012-08-30 10:04 by Ball Cactus, 129 阅读, 0 推荐, 收藏, 编辑
摘要:一、Java接口基础知识1, Java语言不支持一个类有多个直接的父类(多继承),但可以实现(implements)多个接口,间接的实现了多继承.2, 与Java接口相关的设计模式:1, 定制服务模式设计精粒度的接口,每个Java接口代表相关的一组服务,通过继承来创建复合接口2, 适配器模式当每个系统之间接口不匹配时,用适配器来转换接口3, 默认适配器模式为接口提供简单的默认实现4, 代理模式为Java接口的实现类创建代理类,使用者通过代理来获得实现类的服务5, 标识类型模式用接口来标识一种没有任何行为的抽象类型6, 常量接口模式在接口中定义静态常量,在其它类中通过import static语 阅读全文