1.extends继承
1 继承是从已有类中,派生出新的类,新的类拥有父类的属性和行为,并且还能扩展新的属性和行为
2 java中只支持单继承,不支持多继承,这样可以让java中的继承关系比较简单
一个类只能有一个父类,但是一个父类可以有很多子类,易于维护和管理
为了解决单继承功能变弱问题,java提出了接口,一个类可以实现多个接口
3 继承是可以传递的,比如A继承B , B继承C , 则 A也会拥有C的功能
4 私有属性和构造方法是不能被继承
5 如果一个类没有显示继承其他类,则该类继承Object
java.lang.Object 是java提供的根类(祖宗)
Object中的功能,是所有类对象都有的
2.继承解决了代码的重写,提高了代码使用效率
语法 :
[修饰符] class 子类名 extends 父类名{ }
3.super :
1 官方说法是保存了父类型特征
2 在有继承关系的体系中,可以通过super表示父类的数据
4.能做什么
1 用在成员/构造方法中,区分父类和子类同名的数据(同名后,子类优先级高,想使用父类,就需要使用super.xxx才行)
2 用在子类构造方法中,调用指定的父类构造方法
语法 : super(参数) ; 必须在子类构造方法第一行
如果子类构造方法中 没有使用 this(xxx) 也没有使用 super(xxx) 则有一个 super() 去调用父类的无参构造
this(xxx) 和 super(xxx) 都必须出现在构造方法第一行,也就意味着 它们两个 不能同时出现
3 this和super 都不能出现在静态上下文中
5.区分父子类同名属性
6.
调用父类指定构造方法
7.Override
8.
应用场景
9.Final
10.深入final , final修饰的引用类型
11.软件设计六大原则
1 单一职责原则
原则思想 : 一个方法只做一件事,一个类只负责一个职责,这样当前职责改动,不会对其他程序产生影响
常识原则,几乎所有程序员都会遵循这个原则
优点 : 降低类和类之间的耦合度,提高可读性,可维护性,可扩展性,降低可变性的风险
2 里氏替换原则
原则思想 : 能使用父类的地方,就一定可以使用子类
子类还可以扩展父类的功能,但是不能更改父类的功能,并且子类还可以有自己特有的功能
优点 : 增加了程序的健壮性,即使有了新的子类,原子类不受影响,可以正常执行
3 依赖倒置原则
原则思想 : 高层次不应该依赖低层次,都应该依赖于抽象
优点 : 拥抱多种变化,可以减少需求变化带来的工作量
4 接口隔离原则
原则思想 : 类和接口之间应该建立在最小接口上
5 迪米特法则
原则思想 : 又称为最少知识原则,一个对象尽可能的少了解其他对象
一个类中尽量减少对其他类的依赖
6 开闭原则
原则思想 : 对修改关闭,对扩展开放
尽量通过扩展软件实体来解决需求的变化,而不是通过修改已有的代码来完成变化
12.