[b]覆盖:[/b]如果在子类中定义的一个方法,其名称,返回类型及参数签名正好与父类中某个方法的名称,返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。
[b]覆盖注意以下几点:[/b]
1)子类方法的名称,参数签名和返回类型必须与父类方法的名称,参数签名和返回类型一致
2) 子类方法不能缩小父类方法的访问权限。
3)子类方法不能抛出比父类方法更多的异常。
4)方法覆盖只存在于子类和父类(包括直接父类和间接父类)之间,在同一个类中方法只能被重载,不能被覆盖。
[b]重载:[/b]指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。
[b]重载注意以下几点:[/b]
1)在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序
2)不能通过访问权限、返回类型、抛出的异常进行重载。
3)方法的异常类型和数目不会对重载造成影响。
4)对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
[b]重载,就是在一个类中用同一个方法名,但有不同方法。
原则:1.方法名必须相同。
2.方法的参数类型和参数个数两者至少有一不同。
3.方法的修饰符和返回值类型可以不同。
覆盖,就是子类中出现于父类相同的方法。
原则:1.方法名必须相同。
2.方法的参数个数及类型必须完全相同。
3.返回值类型必须相同。
4。子类不能缩小访问权限。
5。子类不能抛出比覆盖方法更多的异常。
多态性概念: 在程序中同一符号或名字在不同情况下具有不同的语义解释,其有两种基本形式: 编译时多态性: 在程序编译时可确定的多态性,由重载机制实现 运行时多态性: 指程序动态运行时才可确定的多态性,由继承结合动态绑定实现。我的理解就是,方法的重载体现了多态,累的继承体现了多态。
[/b]
[b]覆盖注意以下几点:[/b]
1)子类方法的名称,参数签名和返回类型必须与父类方法的名称,参数签名和返回类型一致
2) 子类方法不能缩小父类方法的访问权限。
3)子类方法不能抛出比父类方法更多的异常。
4)方法覆盖只存在于子类和父类(包括直接父类和间接父类)之间,在同一个类中方法只能被重载,不能被覆盖。
[b]重载:[/b]指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。
[b]重载注意以下几点:[/b]
1)在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序
2)不能通过访问权限、返回类型、抛出的异常进行重载。
3)方法的异常类型和数目不会对重载造成影响。
4)对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
[b]重载,就是在一个类中用同一个方法名,但有不同方法。
原则:1.方法名必须相同。
2.方法的参数类型和参数个数两者至少有一不同。
3.方法的修饰符和返回值类型可以不同。
覆盖,就是子类中出现于父类相同的方法。
原则:1.方法名必须相同。
2.方法的参数个数及类型必须完全相同。
3.返回值类型必须相同。
4。子类不能缩小访问权限。
5。子类不能抛出比覆盖方法更多的异常。
多态性概念: 在程序中同一符号或名字在不同情况下具有不同的语义解释,其有两种基本形式: 编译时多态性: 在程序编译时可确定的多态性,由重载机制实现 运行时多态性: 指程序动态运行时才可确定的多态性,由继承结合动态绑定实现。我的理解就是,方法的重载体现了多态,累的继承体现了多态。
[/b]