继承的概念:
继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,
新的类能吸收已有类的数据属性和行为,并能扩展新的能力。继承就是
子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域
和方法,或子类从父类继承方法,使得子类具有父类相同的行为。继承
主要解决的问题就是共性抽取。
继承的好处:
- 子类能自动继承父类的对象
- 创建子类的对象时,无须创建父类的对象。
继承小知识点:
在父子类方法的继承关系中,如果成员变量重名,则创建子类对象时,访问有两种形式。
- a.直接用子类对象访问变量名:等号左边是谁,就优先用谁,没有就往上找
- b.间接通过成员方法访问成员变量:该方法属于谁就优先用谁,没有就往上找
继承的使用:
定义子类格式:
public class 子类名称 extends 父类名称{
// .....
}
代码演示:
-
父类:
/** * @author 一号程序员 * 父类 */ public class Father { public void Fmethod() { System.out.println("父类方法被调用"); } }
-
子类:继承父类
/** * @author 一号程序员 * 父类 */ public class Son extends Father { public void Smethod() { System.out.println("子类方法被调用"); } }
-
实现类:
/** * @author 一号程序员 *实现类 * */ public class Father_Son_Test { public static void main(String[] args) { Son son = new Son(); son.Smethod(); son.Fmethod(); } }
运行结果:
子类方法被调用
父类方法被调用
注意:
如果写了super()语句则会明确的调用父类的构造方法,如果不写则会默认调用父类的无参构造方法。但当super()语句里带有参数时,则会调用有参数的父类构造方法。