Dotcpp  >  编程教程  >  Java子类与继承  >  Java子类与父类

Java子类与父类

点击打开在线编译器,边学边练

当我们准备编写一个类的时候,发现某个类有我们所需要的成员变量和方法,如果我们想复用这个类中的成员变量和方法,即在所编写的类中不用声明成员变量和定义方法,就相当于有了这个成员变量和方法,那么我们可以将编写的类定义为这个类的子类。


而继承就是一种由已有的类创建新类的机制,利用继承,我们可以先定义一个共有属性的一般类,根据该一般类再定义具有特殊属性的子类,子类继承一般类的属性和行为,并根据需要增加它自己的新的属性和行为。由继承而得到的类称为子类,被继承的类称为父类(超类)。


注意:

Java不支持多重继承,即子类只能有一个父类,人们习惯地称子类与父类的关系是“is-a”关系。


在类的声明中,通过使用关键字extends来定义一个类的子类,一般格式为:

class 子类名 extends 父类名 {
    …
}


例如:

class Student extends People {
    …
}

把Student类定义为People类的子类,People类是Student类的父类(超类)。


类的树形结构:

如果C是B的子类,B又是A的子类,习惯上称C是A的子孙类。Java的类按继承关系形成树形结构(将类看做树上的结点),在这个树形结构中,根结点是Object类(Object是java.lang包中的类),即Object是所有类的祖先类。任何类都是Object类的子孙类,每个类(除了Object类)有且仅有一个父类,一个类可以有多个或零个子类。


注意:

如果一个类(除了Object类)的声明中没有使用extends关键字,这个类被系统默认为是Object的子类。例如:类声明“class A”与“class A extends Object”是等同的。



本文固定URL:https://www.dotcpp.com/course/758

Java教程
第一章 Java入门
第二章 Java运算符和表达式
第三章 Java流程控制
第四章 Java类和对象
第五章 Java子类与继承
第六章 Java接口与实现
第七章 Java内部类与异常类
第八章 Java常用实用类
第九章 Java输入输出流
第十章 Java数组
Dotcpp在线编译      (登录可减少运行等待时间)