方法重载必须满足的条件:
* 方法名相同
* 方法的参数类型、个数、顺序至少有一项不相同
* 方法的返回类型可以不相同
* 方法的修饰符可以不相同
方法覆盖必须满足多种约束:
* 子类方法的名称、参数签名和返回的类型必须与父类方法的名称、参数签名和返回类型
一致。
* 子类方法不能缩小父类方法的访问权限。
* 子类方法不能抛出比父类方法的更多的异常。
* 方法覆盖只存在于子类和父类之间。
* 父类的静态方法不能被子类覆盖为非静态的方法。
* 子类可以定义与父类静态方法同名的静态方法,以便在子类中隐藏父类的静态方法。
* 父类的非静态方法不能被子类覆盖为静态方法。
* 父类的私有方法不能被子类覆盖。
* 父杰的抽象方法可以被子类通过两种途径覆盖:一是子类实现父类的抽象访求;二是子类重新声明父类的抽象方法。
* 父类的非抽象方法可以被子类覆盖为抽象方法。
posted on 2007-10-02 09:49
Ke 阅读(705)
评论(0) 编辑 收藏 所属分类:
java