# 继承
**语法:子类名 extends 父类名**
**父类**
```java
public class Uncle {
private String name;
private int age;
public void faHongbao(){
System.out.println("发红包");
}
}
子类一
public class UncleOne extends Uncle{
//独有的方法
public void chouyan(){
System.out.println("大舅喜欢抽烟");
}
}
子类二
public class UncleTwo extends Uncle {
//独有的方法
public void hejiu(){
System.out.println("二舅喜欢喝酒");
}
//复写(覆写)Override 父类中的方法
public void faHongbao(){
System.out.println("家道中落,不发红包,改送祝福");
}
}
优点:
1.提高代码的利用率
2.提高了代码的扩展性
覆写
//复写(覆写)Override 父类中的方法
public void faHongbao(){
System.out.println("家道中落,不发红包,改送祝福");
多层继承
//多层继承
public class UncleTowSon extends UncleTwo {
public void faHongbao(){
System.out.println("逆袭了,红包接着发");
}
}
⚠警告不支持多重继承
public class UncleTowSon extends UncleOne UncleTwo {
}
final最终的
被final修饰的内容不能再被修改
final修饰的变量不能被修改 基本数据类型 如果修饰的是引用数据类型,引用的地址不能发生变化,但是引用位置的值可以发生修改
final修饰的方法不能被重写
final修饰的类不能继承