![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java Details
文章平均质量分 77
wanghaolovezlq
这个作者很懒,什么都没留下…
展开
-
陷阱:“覆盖” 私有方法
public class PrivateOverride { private void f() { System.out.println("private f()"); } public static void main(String[] args) { PrivateOverride po = new DerivedClass(); po.f(); } }...原创 2009-08-19 10:46:58 · 93 阅读 · 0 评论 -
陷阱:域与静态方法
只有普通的方法调用可以是多态的。 1.直接访问某个域,这个访问将在编译期进行解析。 示例: class Super { public int field = 0; public int getField() { return field; } } class Sub extends Super { public int field = 1...原创 2009-08-19 10:56:17 · 75 阅读 · 0 评论 -
初始化顺序
初始化的实际过程: 1.在其他任何事物发生之前,将分配给对象的存储空间初始化成二进制的0。 2.调用基类构造器。(这个步骤会不断反复递归下去,首先是构造这种层次结构的根,然后是下一层子类,等等,直到最低层的子类) 3.按声明顺序调用成员的初始化方法。 4.调用子类的构造器主体。 构造器内部的多态方法的行为 class Glyph...原创 2009-08-19 11:14:58 · 73 阅读 · 0 评论 -
陷阱:异常丢失
class VeryImportantException extends Exception { public String toString() { return "A very important exception!"; } } class HoHumException extends Exception { public String toString(...原创 2009-08-25 15:27:39 · 101 阅读 · 0 评论 -
正确处理异常
通用的清理惯用法基本规则:在创建需要清理的对象之后,立即进入一个try-finally 语句块! // Each disposable object must be followed by a try-finally class NeedsCleanupExceptions { // Construction can't fail private static long co...原创 2009-08-25 16:08:33 · 106 阅读 · 0 评论 -
类初始化(静态方法及静态域)
注意,有一点很有意思,当使用“.class”来创建对Class对象的引用时,不会自动地初始化该Class对象。 为了使用类而做的准备工作实际包含三个步骤: 1.加载 。这是由类加载器执行的。该步骤将查找字节码,并从这些字节码中创建一个Class对象。 2.链接 。这个阶段将验证类中的字节码,为静态域分配存储空间,并且如果必需的话,将解析这个类创建的对其他类的所有...原创 2009-08-26 10:29:34 · 304 阅读 · 0 评论