Java Final 关键字
final用于成员变量时,只能被赋值一次,而且不能被修改(等同于c++的const)。可以只声明,不初始化。
final方法不能被子类覆盖,(说明final方法肯定有效果),但是可以被继承)
final类不能被继承,final类的方法默认都是final的。
final类保证不会有子类,保证类内容不被修改。
final方法保证不会被修改或者改变意义
Java Static 关键字
Static 变量 在内存中只有一个copy,不管类有多少个实例。 static变量可以直接用类名访问;普通实例变量有多个copy,互不影响
Static 方法可以直接通过类名调用,实例对象也可以调用static方法。(比如每个static main()方法)
static 代码块不属于任何实例,加载类时会自动执行,可以有多个,各自独立。
Java Finally 关键字
Fianlly 关键字保证不管是否执行try catch发现异常,finally代码段的内容肯定会被执行。一般用于释放资源。
Java Checked Unchecked 异常
Checked exceptions are exceptions like IOException, they must be handled by programmer using try/catch block。
Unchecked exceptions are exceptions like NullPointerException, ArrayIndexOutOfBoundException it is not necessary to handle those exception。
Java abstract class
An abstract class is a class that is declared abstract
—it may or may not include abstract methods. Abstract classes cannot be instantiated, but they can be subclassed.
抽象类不可以被实例化,可以被继承(就是用来让继承的)
抽象方法用来被子类方法继承。(interface的方法就是实际上的抽象方法)抽象方法在子类中全部要被实例化,否则该子类也必须是abstract class。