Java语法笔记-综合
1. 初始化
?
instance variable:在声明时简单赋值,构造函数,initializer block(暂时不知道这种风格好不好),method(effective java提倡final method,暂时未看)。java编译器会把initializer block插入每个构造函数中???
?
class variable: 用static block或者static method提供同样功能的初始化。提倡使用static method,可重用。
?
?
2. 嵌套类
用于类分组,封装和可读可维护性
?
分static嵌套类和内部类(非static),可使用4类访问控制。
内部类可访问外部类成员,且必须和外部类关联使用。内部类还有本地和匿名内部类两种类型(在method内定义)
static嵌套类很像外部的public类,只是位置不同。
?
参考http://blogs.oracle.com/darcy/entry/nested_inner_member_and_top
?
?
3. Enum类型
和class类似,一组常量域及编译器加的method
?
?
4. Interface
?
Interface中的variable隐式定义为public, static, final
?
?
5.?Object?& Inheritance
Instance method可以被覆盖,Class method可以被隐藏
如果覆盖了equals,那么也必须覆盖hashCode。因为如果两个object equals,他们的hashCode也相等
构造函数调用的函数通常声明为final(没这么干过),否则子类可能改写该函数造成未知结果
?
?
?
?
参考资料:
The Java Tutorial: http://download.oracle.com/javase/tutorial/index.html
?
?
?
?