枚举
1、 枚举可以被声明为自己独立的类,或者被声明为类成员(类的外部或内部),单位不能在方法内被声明。
2、 枚举是一种特殊的类,它不仅仅列出枚举的常量值,可以添加构造函数、实例变量、方法,以及一种称为常量特定类体的奇怪事物。
IS-A 在OO中IS-A的概念给予类继承或接口实现。
HAS-A 关系基于用法而不是继承。换句话说,如果类A中的代码具有对类B实力的引用,则类A HAS-A (有) B。
重写与重载
一、 重写:当一个类继承超类时,就有机会重写超类的方法(不能表为final)。对于从超类继承的抽象方法,必须在子类中实现该方法,除非该子类也是抽象的。
优点:能够定义某个子类特有的行为。
重写方法的规则:
1、 参数列表必须与被重写方法的参数列表完全匹配。
2、 返回类型必须与超类中原始被重写方法中声明的返回类型或其子类型相同。
3、 访问级别的限制性一定不能比被重写方法的强。
4、 访问级别的限制性可以比被重写的方法弱。
5、 重写方法可以抛出任何非检查的(运行时)异常,无论被重写方法是否声明了该异常。
6、 重写方法一定不能抛出新的检查异常或比被重写的方法声明的检查异常更广的检查异常。
7、 重写方法能够抛出更少或更有限的异常。
8、 不能重新标识为final 或static 的方法。
注意:
如果一个方法被重写,但是你使用多态(超类型)引用来引用具有重写方法的子类型对象,编译器就会认为你正在调用该方法的超类型版本。
二、 重载方法
重载规则:
● 被重载的方法必须改变参数列表。
● 被重载的方法可以改变返回类型。
● 被重载的方法可以改变访问修饰符。
● 被重载的方法可以声明新的或更广泛的检查异常。
● 方法能够在同一个类中或者在一个子类中被重载。