摘要: Java提供的异常体系不可能预见所有的希望加以报告的错误,所以可以自己定义异常类来表示程序中可能会遇到的特定问题。 要自己定义异常类,必须从已有的异常类集成,最好的选择意思相近的异常类继承,建立新的异常类型最简单的方法就是让编译器舞步产生默认的构造器,所以这几乎不用写多少代码: 4 packa... 阅读全文
posted @ 2014-06-20 20:30 FireEgg 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 队列相信大家也很熟悉,我就不说了。本文采用LinkedList提供的方法以支持队列的行为,并且它实现了Queue的接口,因此LinkedList可以作为Queue的一种实现。通过将LinkedList向上转型为Queue,下面的示例使用了在Queue接口中与Queue相关的方法: 1 package... 阅读全文
posted @ 2014-06-19 21:12 FireEgg 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 工厂方法匿名类与正规的继承相比有些受限,因为匿名类既可以扩展类,也可以实现接口,但不能两者兼备。如果实现接口,也就只能实现一个接口。 1 package innerclasses; 2 3 4 interface Service{ 5 void method1(); 6 void... 阅读全文
posted @ 2014-06-18 18:22 FireEgg 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 如果你需要生成对外部类对象的引用,可以使用外部类的名字后面紧跟圆点和this。这样产生的引用自动的具有正确的类型,这一点在编译期就被知晓并受到检查,因此没有任何运行时开销。下面展示如何使用.this 1 package innerclasses; 2 3 public class DoThis... 阅读全文
posted @ 2014-06-16 22:56 FireEgg 阅读(1594) 评论(0) 推荐(0) 编辑
摘要: 到目前为止,内部类似乎还只是一种名字隐藏和组织代码的模式,这些都是很有用的,但还不是最引人注目的,它还有其他的用途。当生成一个内部类的对象时,此对象与制造它的外围对象之间就有一种联系,所以它能访问其外围对象的所有成员,而不需要任何特殊条件。此外,内部类还拥有其他的外围类的所有元素的访问权。下面例子说... 阅读全文
posted @ 2014-06-15 21:44 FireEgg 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并且控制位于内部的类的可视性。但是内部类是完全不同于组合的概念。在最初,内部类看起来就像是一种代码隐藏机制:将类置于其他类的内部。但是,内部类远不止于此,它了解外围类,并能与之通讯,而且你用的内部类写出的代码更优雅而清新。 1... 阅读全文
posted @ 2014-06-14 13:07 FireEgg 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 接口主要是为了向上转型,从而使基类(接口方法)更具灵活性!不想废话,看例子: /** * */package interfaces;interface Monster{ void menace();}interface DangerousMonster extends Monster{ void destory();}interface Lethal{ void kil... 阅读全文
posted @ 2014-06-09 20:43 FireEgg 阅读(350) 评论(0) 推荐(0) 编辑
摘要: Java中的接口不仅仅是一种更纯粹的抽象类,它的目标比这更高。因为接口是根本没有任具体实现的。也就是说,没有任何与接口相关的存储;因此,也就无法阻止多个接口的组合。这一点是很有价值的,因为你有时候需要去表示“一个X是一个a和一个b以及一个c”。在C++中,组合多个类的接口的行为被称作为多重继承。它可能会使你背负很沉重的包袱,因为每个类都有一个具体实现。在java中,你可以执行相同的行为,但是只有一... 阅读全文
posted @ 2014-06-09 18:21 FireEgg 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 通过组合和继承方法来创建新类时,永远不必担心对象的清理问题,子对象通常会留给垃圾回收器进行处理。如果确是遇到清理问题,那必须用心为新的类创建dispose()方法(在这里我们选用此名)。并且由于继承的缘故,如果我们有其他作为垃圾回收一部分的特殊清理动作,就必须在导出类中覆盖被继承的dispose()方法。当覆盖被继承的diopose()方法时,务必记住调用基类版本dispose()方法;否则,基类... 阅读全文
posted @ 2014-06-08 00:21 FireEgg 阅读(346) 评论(0) 推荐(0) 编辑