编辑:[db:作者] 时间:2024-08-25 08:09:26
继续的浸染:通过继续可以快速创建新的类,实当代码的重用,提高程序的可掩护性,节省大量创建新类的韶光,提高开拓效率和开拓质量。
在 Java 中通过 extends 关键字可以申明一个类是从其余一个类继续而来的,一样平常形式如下:
class 父类{
... //成员变量、成员方法
}
class 子类 extends 父类{
... //类体
}
例如:
运行结果为:
学生
Tom
19
把稳:
子类不能选择性继续父类;
Java不支持多重继续,但一个类可以实现多个接口,从而战胜单继续的缺陷;
布局方法不会被子类继续,但可以从子类中调用父类的布局方法。
继续的优点继续过来的字段和方法,可以像任何其他字段和方法一样被直策应用;在子类中可以声明一个与父类中同名的新字段或静态方法,从而“隐蔽”父类中的字段或方法;可以在子类中声明一个在父类中没有的新字段和方法;可以在子类中编写一个父类当中具有相同名的新实例方法,这称为“方法重写”或“方法覆盖”;可以在子类中编写一个调用父类布局方法的子类布局方法,既可以隐式地实现,也可以通过利用关键字super来实现。重写和隐蔽父类方法子类继续了父类中的所有成员及方法,但在某种情形下,子类中该方法所表示的行为与其父类中该方法所表示的行为不完备相同,例如,在父类措辞中定义了说话这个方法,而在子类中说话的方法是不同的:外国人说英文,中国人说中文,这时我们就须要重写或隐蔽父类的该方法。
重写父类中的方法当一个子类中一个实例方法具有与其父类中的一个实例方法相同的署名(指名称、参数个数和类型)和返回值时,称子类中的方法“重写”了父类的方法。例如:
运行结果为:
大家好,欢迎学习Java!
!
!
GoodBye,everyone
把稳:重写的方法具有与其所重写的方法相同的名称、参数数量、类型和返回值。
隐蔽父类中的方法如果一个子类定义了一个静态类方法,而这个类方法与其父类的一个类方法具有相同的署名(指名称、参数格式和类型)和返回值,则称在子类中的这个类方法“隐蔽”了父类中的该类方法。
当调用被重写的方法时,调用的版本是子类的方法;当调用被隐蔽的方法时,调用的版本取决于是从父类中调用还是从子类中调用。运行结果为:
可以看出,得到调用的隐蔽方法是父类中的方法,而得到调用的重写方法是子类中的方法。
方法重写和隐蔽后的润色符在子类中被重写的方法,其访问权限许可大于但不许可小于被其重写的方法,例如:父类中一个受保护的实例方法(protected)在子类中可以是公共的(public)的,但不可以是私有的(private)。如果一个方法在父类中是static方法,那么在子类也必须是static方法;如果一个方法在父类中是实例方法,那么在子类中也必须是实例方法。
子类访问父类私有成员子类继续其父类的所有public和protected成员,但不能继续其父类的private成员。那么如何在子类中访问到父类中的字段呢,我们可以在父类中供应用来访问其私有字段的public或protected方法,子类利用这些方法来访问相应的字段。例如:
运行结果为:
利用super关键字
利用super调用父类中重写的方法、访问父类中被隐蔽的字段
子类重写了父类中的某一个方法,隐蔽父类中的字段,如果想在子类中访问到父类中被重写的方法和隐蔽父类的字段,可以在子类中通过利用关键字super来调用父类中被重写的方法和访问父类中被隐蔽的字段。例如:
运行结果为:
利用super调用父类的无参数布局方法/有参数布局方法
子类不继续其父类的布局方法。
当利用无参数的super()时,父类的无参数布局方法就会被调用;当利用带有参数的super()方法时,父类的有参数布局方法就会被调用。例如:
运行结果为:
把稳:
如果要初始化父类中的字段,可以在子类的布局方法中通过关键字super调用父类的布局方法;对父类的布局放的调用必须放在子类布局方法的第一行;如果父类布局器没有参数,则在子类的布局器中不须要利用 super 关键字调用父类布局器,系统会自动调用父类的无参布局器;如果父类的布局器带有参数,则必须在子类的布局器中显式地通过 super 关键字调用父类的布局器并配以适当的参数列表;子类是不继续父类的布局器(布局方法或者布局函数)的,它只是调用(隐式或显式)。[机警]点击获取资料
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/rqz/189477.html
上一篇:“电气电子产品环保检测员”职业能力等级评价2023年第三期...
下一篇:返回列表
Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码
声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com