类和类的关系
A is-a B 继承 实现 -->泛化(A是一个B)
A has-a B 组合 聚合 关联-->包含(A有一个B)
A use-a B 依赖 (A使用到了B /A需要一个B)
继承
1.子类继承父类,需要通过 extends关键字
2.子类可以调用父类的方法,属性来使用
3.子类可以自己添加方法和属性
4.如果父类没有满足子类的需求,子类可以重写父类的方法或者属性(覆盖) -->内容
5.所有类都有继承类,如果不写extends关键字默认继承自object类,如果有则继承自后面那个类
方法重写override 方法重载overload
1.类 产生两个继承关系的类 一个类中的一组方法
子类重写父类的方法
2.权限 子类可以大于等于父类 没有要求public protected受保护的 默认不写 private
*3.特征 final static abstract 没有要求
父类方法是final 子类不能重写
父类方法是static 子类不存在
父类方法是abstract 子类必须重写
(子类是具体必须重写 否则子类是抽象类 可以不重写)
4.返回值 子类可以小于等于父类 没有要求
5.名字 子类与父类一致 一个类中的好多方法名必须一致
6.参数 子类与父类一致 每一个方法的参数必须不一致(个数 类型 顺序)
*7.异常 运行时 编译时 没有要求
如果父类方法抛出运行时异常
子类可以不予理会
如果父类方法抛出编译时异常
子类抛出异常的个数少于等于父类
子类抛出异常的类型小于等于父类
8.方法体 子类的方法内容与父类不一致 每一个重载的方法 执行过程不一致