摘要:7. Polymorphism Bruce Eckle给与的提示: 注意事项一:所有Java函数都是通过后期绑定(late binding)达到多态性的。 注意事项二:声明为final的函数可以被编译器基于效率考量改为inline,类似前期绑定的效果。但是,原则上不要相信编译器的智商,除非处于设计上的考量而不要为效率问题而把函数声明为final。
阅读全文
随笔分类 - JAVA
摘要:6. Reusing Classes Java编译器并不会给任何reference产生缺省对象,这样就避免了大多数情况下的不必要的负担。初始化需要的对象可以在以下地点: 1,对象定义处。由于类初始化顺序的规则,这样做可以保证以此方法初始化的对象将会在构造函数被调用前完成初始化。 2,构造函数内部。 3,当需要使用该对象时,这种方式被称为(缓式初始化)lazy initialization。如果...
阅读全文
摘要:关于自定义一个程序库(library),在Java里也就是定义一个package。例如,我有一个测试用的package, com.smilereader.test。编译后的CLASSPATH是:D:\develop\eclipse\workspace\TestScoping\bin\com\smilereader\test注意这个路径的最后部分,com\smilereader\test,如同pac...
阅读全文
摘要:Chapter 4 : Initialization & Cleanup......跳过,跳过,第一句要提醒自己的是:一旦写下一个任意形式签名(signature)的构造函数,编译器将不会再提供自动生成default构造函数。在构造函数中调用构造函数(Calling constructors from constructors)需要注意的是super与this两种在构造函数调用构造函数的方式,必须...
阅读全文
摘要:For那么,这次来复习 "for"。 首先是形式:for(initialization;Boolean-expression;step) statement这个是再熟悉不过了,对于我来说自从初中开始学习PASCAL开始for循环就一直是使用率最高的循环控制结构。然而,通常我只是使用单个变量最为参数的for循环,其实for循环的initialization 定义多个同型的变量。例如:for(...
阅读全文
摘要:决定开始用中文写些blog了。原因么,说来话长,所以不提了。 最近突然又燃起了啃厚书的激情,所以乘着这股劲再次开始啃《Thinking in Java》。同时决定做些笔记,加深印象。这里是第一篇。 2: Everything is an Object Scoping { int x = 12; { int x = 96; // Illegal } } 注意,在C++中这...
阅读全文
浙公网安备 33010602011771号