第 5 讲 深入理解 Java 语言
局部变量是方法中定义的变量或方法的参变量。
局部变量存在于栈中。
字段变量可以自动赋初值。
main 函数也可以写为 public static void main( String…argv){}。
javap –c 命令可以反汇编 Java 类中的指令。
override 及虚方法调用是多态的一种。
虚方法调用是由对象实例的类型来动态决定的。
在构造方法在执行时,令所有父类的构造方法都得到调用。
在构造方法在执行时,一定会调用 Object 的构造方法。
创建对象时,可以用{{}}这样的语法来对字段进行赋值。
实例初始化,先于构造方法{}中的语句执行。
系统在回收时会自动调用对象的 finalize() 方法。
由于 finalize()方法的调用时机并不确定,所以一般不用 finalize()。
try-with-resources 语句可以自动执行 close()方法。
内部类中访问外部类的字段可以用“外部类名.this.字段”的方式。
局部类及匿名类可以访问 final 局部变量。
匿名类不取名字,直接用其父类或接口的名字。
匿名类在定义时就创建了一个实例。
在用 new 创建内部类实例时,要在 new 前面冠以对象变量。
匿名类经常用于做方法的参数。
匿名类使用父类的构造方法。
当方法调用结束,方法中的局部变量就结束其生命了。
不定长参数实际上可以理解为数组。
多态是指一个程序中相同的名字表示不同的含义的情况。
Java 中自动进行垃圾回收。
overload 是多态的一种。
static,private,final 方法不是虚方法。
static 方法调用是由所声明的变量类型所决定,与实例无关。
在构造方法中,如果没有 this 及 super,则编译器自动加上 super()。
静态初始化,在第一次使用这个类时要执行。
靳肖健