定义:
1.从生活中理解,继承可以是子承父业
2.java中则是使类和类之间产生关系, 即子父类关系
优点:
1.可以获取父类的方法和属性
2.提高了代码的复用性,也便于后期维护
3.子类也可以扩展出子类独有的内容
3.同时也是多态的前提
缺点:
1.类之间的耦合性增加,而开发原则是搞内聚,低耦合
2.耦合是类与类之间的联系(加强)
3.内聚则是独立完成功能的能力
使用方法:
使用关键字 extends 让子类和父类产生联系
//父类
public class Father{
//成员变量, 名字
public String name;
//方法 打印名字
public void method(){
System.out.println(name);
}
}
//子类
class Son extends Father{
}
//子类调用父类
public class TestDemo {
public static void main(String[] args) {
Son son = new Son();
son.method();
}
}
java是单继承语言
单继承特点:
java是单继承机制,但是可以实现多接口
一个类可以有多个子类,但是一个子类只能有一个父类
优点: 使用简单
缺点: 不灵活,不易于后期维护
面向对象设计原则之一 : 开闭原则 , 对修改关闭, 对扩展开发
扩展—权限修饰符
修饰符 | 本类 | 同一包下 | 不同包的子类 | 不同包的其他类 |
---|---|---|---|---|
private | Y | |||
default | Y | Y | ||
protected | Y | Y | Y | |
public | Y | Y | Y | Y |
private: 只能本类使用,卧榻之榻岂容他人酣睡
default: 本包下可用, 一家人互相帮助
protected: 1.同包 2.不同包的子类中使用, 并且通过子父类继承的关系才行
静态方法可以直接根据类名调用, 不能直接使用成员变量, 因为static中不能使用this
特点:
1.都是成员修饰符,不能修饰局部
2.default关键字是默认的,可以省略不写
3.能够修饰类的只有 public | private