持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情
复杂的类和对象
在Java面向对象程序设计中,开发者们可以采用继承机制来组织设计各种应用系统中的类。
- 优点:
- 这样提高了程序抽象程度,符合人类思维
- 提高软件开发效率,降低维护工作量
- 降低了代码的耦合度
继承
继承又分为单重继承和多重继承。
- 单重继承:是指子类(派生类)的父类(超类)只有一个,这种继承关系单一,是简单的树形结构。
- 多重继承:一个类至少有一个以上的父类,是略为复杂的网状结构
但对于java来说,它仅支持单重继承,这也是为了出于安全考虑。
- 语法格式如下
/*
public class 子类A [extends 父类B]{
...
}
*/
public class Student extend Person{
//...
}
派生类的构造方法
- 在创建一个派生类对象时,派生类的构造方法首先调用超类(父类)的构造方法,然后执行派生类构造方法中的语句,对派生类新增的成员进行初始化工作。
- 在派生类构造方法中,可以使用
super方法调用超类的构造方法,调用super方法的语句要作为子类构造方法的第一条语句。 - 调用super方法格式:
super(参数列表);
注: 父类必须定义带有相应参数列表形式的构造方法
-
如果派生类的构造方法中没有通过super方法来调用超类的构造方法,同时超类也不存在带形参的方法。则java首先自动地调用超类默认地构造方法,负责超类数据成员地初始化工作,否则编译系统认为存在语法错误。
-
如果超类定义了带有形参列表的构造方法,派生类就应该定义带形参的构造方法的第一条语句给带形参的super调用,从而能够将参数传递给超类构造方法,保证超类能够初始化自己的数据成员。
-
代码示例
public class Parent{
String name;
public Parent(){
System.out.println("调用默认父类");
name=new String("未知");
}
}