南通Java开发培训提升班哪家比较好
科迅教育
发表于:2020-03-26 10:46:32 85次浏览南通Java开发培训提升班哪家比较好 方法的重写也称覆盖,是指在java类的继承关系中,子类重写从父类中继承过来的方法,使得这个方法更符合子类的特性。当子类重写父类的方法时,要求该方法的名字、参数类型、参数个数必须和父类的完全相同,而且要求该方法的返回值类型必须和父类的返回值类型一致或者是父类返回值类型的子类型。
子类通过重写从父类继承过来的方法,可以把父类的状态和行为改变为子类自身的状态和行为。子类重写父类的方法后,那么从父类继承过来的这个方法就会被隐藏起来,当子类对象调用这个方法时,调用的一定是子类重写后的方法。图4所示,当执行语句demo.prt()时,调用的是子类重写的从父类继承过来prt方法,所以程序输出的结果是“Son class”,而不是说“Father class”
在子类重写的方法中,可以访问从父类继承过来的成员变量,也可以调用从父类继承的方法,也可以操作子类中定义的新成员变量和新方法,但是如果想要访问因为子类重写而被隐藏的成员变量或者方法,必须通过super来进行调用。如下图5改写的图4中所示的Son类后,输出结果如下所示。当执行语句demo.prt()时,调用的是子类重写的prt方法,但是在这个重写的prt方法中,通过语句super.prt(),则可以调用被子类重写的prt方法隐藏的父类的prt方法。(但是需要注意一点,如果父类中方法的修饰符是private,那么这个方法在子类中通过super也是不能访问的。)
在重写父类的方法时,还必须注意子类重写的方法的访问权限不能低于父类方法的访问权限(访问控制修饰符的访问权限由低到高的顺序是:private、默认友好的、protected、public)。在图6中,父类prt方法的访问控制修饰符是protected,如果子类在重写此方法时使用默认友好的访问权限(无修饰控制符),则代码无法通过编译,这是因为默认友好的访问权限低于protected,所以代码编译失败。
子类重写父类方法是Java面向对象编程实现多态的一个重要环节,因为父类的方法可以被它的多个子类重新改写,所以这些子类都可以具有自己的行为特性,那么根据这个特性,我们可以用一个父类的对象变量引用指向子类创建的对象,当这个对象在调用方法时就会具有多种形态,因为不同的子类在重写父类方法时都会生成不同的行为。
南通Java开发培训提升班哪家比较好 综上所述,方法的重载发生在同一个类的内部,通过多个相同的方法名称、但是参数不同(可以是参数个数、参数类型、参数顺序不同)的多个方法,实现同一类型的功能。方法的重载和方法的返回值类型无关,和方法的访问控制修饰符也无关。而方法的重写则发生在不同的类之间,是子类重写父类的方法。通过方法重写,可以使子类具备不同的行为特性。方法重写的前提是继承关系的存在,是子类重写从父类继承过来的方法。在实际的Java编程应用中,我们应该根据具体的情况,选择应用方法的重载或者重写来实现程序的功能。
南通Java开发培训提升班哪家比较好原创内容,请点击 南通JAVA培训