面向对象--继承--继承的概述
继承概述
- 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
- 通过extends关键字可以实现类与类的继承
格式:class 子类名 extends 父类名 {}
单独的这个类称为父类,基类或者超类;
这多个类可以称为子类或者派生类。
- 有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员。
程序引例
/*
学生:
属性:姓名,年龄
行为:学习
老师:
属性:姓名,年龄
行为:学习
继承:
按照我们之前学习的类的写法的时候,发现学生类和老师类中的成员大部分内容是一样
name和age这两个成员变量,以及study()方法都是相同的。
如果我们再继续定义类,比如医生,程序员,律师等等,他们同样也都具备了
这些成员内容,每次写一个类都要重复写一遍,感觉很麻烦。
我们想一想,可不可以把这些相同的内容放到一个独立的类中,然后,
让其他类与这个类产生一个关系,建立好这个关系之后呢,其他类也同样具备了
这个独立的类的一些功能。
为了实现这样的技术,java提供了一个技术:继承
父亲:
儿子
用代码如何去表示继承,编写代码的格式是什么样子呢?
格式:class 子类名 extends 父类名 {}
案例1:
class Fu{}
class Zi extends Fu{}
案例2:
class Student{}
class Teacher{}
改进后:
class Person{}
class Student extends Person{}
class Teacher extends Person{}
*/
class Person{
String name;
int age;
//构造方法
//getXxx(),setXxx()
public void study(){
System.out.println("学习");
}
}
class Student extends Person{
//有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员。
String id;
public void coding(){
System.out.println("敲代码");
}
}
class Teacher extends Person{
}
class Doctor extends Person{
}
public class ExtendsDemo1 {
public static void main(String[] args) {
//创建一个学生对象
Student s = new Student();
s.study();
}
}