[TOC]
# 继承的概述
继承是面向对象的三大特征之一,也是面向对象开发的重点
用来解决代码重复出现的问题,是类与类关系的一种
从类与类的设计角度来看,子类应该是父类的一种时才可以使用继承
# 继承的好处
提高了代码的复用性
提高了代码的扩展性
为多态提供了前提
# 继承的特点
1. 子类拥有父类(除构造方法以外)的所有成员变量和成员方法。
2. 子类可以直接访问父类非private修饰的成员.
3. 子类可以在父类的基础上进行扩展,子类可以添加自己特有的成员变量和成员方法
4. 子类可以使用自己的方法实现父类的功能
5. 子类可以访问父类的构造方法
# 继承的格式
```
Class 子类类名 extends 父类类名 {
}
```
# 继承注意事项
JAVA只能单继承,不支持多继承
JAVA支持多层继承
在JAVA中,所有的类都是Objct的子类,Object类时所有类的父类(超类)
# 通过setter&getter方法访问父类private成员
在实际开发中,成员变量都是使用Private修饰符
子类无法直接访问父类Private修饰的成员,此时父类应该为private成员变量提供setter & getter方法
子类可以通过etter & getter方法间接访问父类的Private成员变量
# 代码
```
public class Teacher extends Person {
// 工资成员变量
public double salary;
public static void main(String[] args) {
Teacher stu = new Teacher;
//可以直接访问非 private成员
stu.name = "jack";
stu.age = 23;
System.out.println("姓名:" + stu.name);
System.out.println("年龄:" + stu.age);
//调用从父类继承过来的方法
stu.eat();
stu.sleep();
}
}
```