3.3.1继承与多态的概念在子类中对从父类继承的方法进行重新在同一个类中定义多个同名的定义内容定义,即重写。不同但最终功能相同的方法。方法名、参数、返回值完全相同子类方法不能缩小父类方法的访问权限参数类型、个数、顺序至少有一个不相同子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)不能重载只有返回值不同的方法名存在于父类和子类之间存在于父类和子类、同类中方法被定义为final不能被重写覆盖重载vspublicintsetArea(intinnerw)(overrideoverloadreturn width*width;1/publicvoidsetCircumferenceofsuper.setCircumference0;1/publicvoid setAreabcircumference+=4*width;area=height*super.width-seJava面向对象程序设计
Java面向对象程序设计 3.3.1 继承与多态的概念 在子类中对从父类继承的方法进行重新 定义,即重写。 在同一个类中定义多个同名的定义内容 不同但最终功能相同的方法。 覆盖 override 重载 overload vs • 方法名、参数、返回值完全相同 • 子类方法不能缩小父类方法的访问权限 • 子类方法不能抛出比父类方法更多的异常 (但子类方法可以不抛出异常) • 存在于父类和子类之间 • 方法被定义为final不能被重写 • 参数类型、个数、顺序至少有一个不 相同 • 不能重载只有返回值不同的方法名 • 存在于父类和子类、同类中
3.3.1继承与多态的概念思考:定义多个不同名方法代替方法重载,如何?比如:程序中定义多个名为print方法,用来打印不同类型的数据,如字符型、数值型等,用什么方式好?printChar(char x)print (char x)VsprintFloat(float y)print (float y)printInt(int z)print (int z)Java面向对象程序设计
Java面向对象程序设计 3.3.1 继承与多态的概念 思考:定义多个不同名方法 代替 方法重载,如何 ? 比如:程序中定义多个名为 print方法,用来打印不同类型的数据,如字符型、数值 型等,用什么方式好? printChar(char x) printFloat(float y ) printInt(int z) print (char x ) print (float y) print (int z) vs × √
3.3.2属性的继承与隐藏Java面向对象程序设计
Java面向对象程序设计 3.3.2 属性的继承与隐藏