面向对象的三大特征:封装性、继承性、多态性。
继承是多态的前提,没有继承就没有多态。
利用继承,人们可以基于已存在的类构造一个新的类。继承已存在的类就
是复用(继承)这些类的方法和域。在此基础上,还可以添加一些新的方法和域,以满足新的需求。
继承主要解决的问题就是:共性抽取。
继承关系当中的特点:
1.子类可以拥有父类的 “内容”。
2.子类还可以拥有自己的 “内容”。
在继承关系中“子类就是父类”,也就是说子类可以被当作父类看待
例如父类是员工,子类是教师,那么“教师就是一个员工”,关系是:is-a。
基本格式定义
定义父类格式:
public class 父类名称{
//...
}
定义子类格式:
public class 子类名称 extends 父类名称{
//...
}
package java继承;
/**
* @Author: Jason
* @Date: 2019/7/11 8:05
* @Version 1.0
*/
/**
* 在继承关系中“子类就是父类”,也就是说子类可以被当作父类看待。
* 例如父类是员工,子类是教师,那么“教师就是一个员工”,关系是:is-a。
*
* 定义父类格式:
* public class 父类名称{
* //...
* }
* 定义子类格式:
* public class 子类名称 extends 父类名称{
* //...
* }
*/
public class DemoExtends {
public static void main(String[] args) {
Teacher teacher = new Teacher();
teacher.Method();
System.out.println("===================");
Assistant assistant = new Assistant();
assistant.Method(); //助教类继承的教师类 方法 同样继承下来
}
}
创建一个员工类
package java继承;
/**
* @Author: Jason
* @Date: 2019/7/11 8:07
* @Version 1.0
*/
//创建一个员工类
public class Employee {
public void Method(){
System.out.println("这是一个员工类!");
}
}
创建一个教师类 继承 员工类
package java继承;
/**
* @Author: Jason
* @Date: 2019/7/11 8:08
* @Version 1.0
*/
//创建一个教师类 继承 员工类
public class Teacher extends Employee {
public void Method(){
System.out.println("这是一个教师类");
}
}
创建一个助教类 继承 教师类
“子类就是父类”
package java继承;
/**
* @Author: Jason
* @Date: 2019/7/11 8:12
* @Version 1.0
*/
//创建一个助教类 继承 教师 类
public class Assistant extends Teacher {
}
//虽然助教类没有写内容 但已经继承了父类 也还可以拥有自己的 方法等