本文已参与「新人创作礼」活动,一起开启掘金创作之路。
面向对象特征之二:继承
-
面向对象特征之二:继承
- 如下:每个类中的属性都有相同部分,如果均使用代码实现会很繁重
-
设置方式
- 第一步,设置父类(基类或超类),编写共性代码
- 第二步,子类extends继承之后,再写特有部分
-
继承作用
- 提高代码复用性
- 让类与类之间产生了关系,提供了多态的前提
- 继承是有逻辑关系,不要仅仅为了获取其他类中的某个功能而去继承。例如狗和人类都有相同的年龄、性别和名字属性,但不能因为这样的共有属性而继承,存在逻辑问题
-
注意
- 子类不是父类的子集,而是父类的“扩展”
- 子类不能直接访问父类的私有的(private)成员变量和方法
- Java只支持单继承,不允许多继承,即一个子类只能有一个父类,一个父类可以派生出多个子类
-
练习
- 第一步
- 第二步
- 第三步
方法的重写(override)
-
方法的重写(override)
-
定义
- 在子类中可以根据需要对从父类中继承来的方法进行改造,也称方法的重置、覆盖。在程序执行时,子类的方法将覆盖父类的方法。
-
要求
- 重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型。(即子类重写父类的方法,只是重写编写方法体(大括号内)的代码)
- 重写方法不能使用比被重写方法更严格的访问权限
- 重写和被重写的方法须同时为static的,或同时为非static的
- 子类方法抛出的异常不能大于父类被重写方法的异常
-
具体操作
- 第一步,写父类Person并写方法setInfo
- 第二步,写子类Student并重写setInfo,空白点击alt+/键选择重写方法
- 第三步,重写方法体
-