1 最终类就是被final修饰的类,最终方法就是被final修饰的方法。最终类不能被继承,最终方法不能被重写
2 : 抽象类和最终类都可以被声明使用:
“向上转型
1、父类类型引用指向子类对象2、 接口类型引用引用指向该接口实现类的对象、
抽象类不能被实例化
final类,不希望被继承 被修改 被扩展 final()方法可以被继承 但不能被覆盖
- Volatile:与锁相比,Volatile 变量是一种非常简单但同时又非常脆弱的同步机制,它在某些情况下将提供优于锁的性能和伸缩性。如果严格遵循 volatile 的使用条件 —— 即变量真正独立于其他变量和自己以前的值 —— 在某些情况下可以使用 volatile 代替 synchronized 来简化代码。然而,使用 volatile 的代码往往比使用锁的代码更加容易出错。
volatile 变量提供理想的线程安全,必须同时满足下面两个条件:1:对变量的写操作不依赖于当前值 2:该变量没有包含在具有其它变量的不变式中。
3:
重载:方法的重载(overload):重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。
3 子类通过super关键字调用父类的一个构造方法;
4 当子类的某个构造方法没有通过super关键字调用父类的构造方法,通过这个构造方法创建子类对象时,会自动先调用父类的缺省构造方法
5 构造方法不能被static、final、synchronized、abstract、native修饰,但可以被public、private、protected修饰;
6 构造方法不是类的成员方法;
7 构造方法不能被继承
4:
5:forward()和redirect()