final:
1.final定义的类不能被继承,final定义的方法,其子类不能覆写。
2.Java规范中 final 定义的常量的单词字母都要大写。
3.构造函数私有化:
单例设计模式:只留有一个类的一个实例化对象,例如:
private final static Singleton instance = new Singleton ();
在后面程序中 instance 不能被重新定义也不能被修改。
多态:
- 向上转型:子类对象变成父类对象,父类 父类对象 = 子类实例,自动;
向下转型:父类对象变成子类对象,子类 子类对象 =(子类)父类实例,强制。
在向下转型中,必须先发生向上转型,以建立两个对象之间的联系,否则会出现 “ClassCastException” 转换错误。
例如:A是父类,B是继承A的子类;
B b = (B)new A() //可能会出现转换错误。
A a2 = new B(); //先向上转换
B b2 = (B) a2; //再向下转换