隐藏对象的具体实现细节,能过共有方法暴露对象的功能
内部结构可以自由修改,同时可对成员进行更加精确的控制
使用已存在的类作为基础类,在些基础上建立新类
子类可复用父类的功能,也可以进行扩展,从而达到代码复用的效果
子类拥有父类非私有的属性和方法
构造方法只能调用 不能实现 子类默认调用父类的无参构造方法
如果父类没有无参的构造方法 , 需要使用 super 显示调用
一个类实例的相同方法在不两只的情形下有不同的须形式
两种
编译时多态 方法的重载
运行时多态 继承+ 方法重写 + 向上转型 父类引用指向子类对象
动态绑定 new 后面是什么类型 动态类型就是什么类型
面向对象七大原则单一职责原则 每一个类应该专注于做一件事情
开闭原则 一个对象对外扩展开放 对内修改关闭 : 通过增加代码进实现 不修改原来的代码
里氏替换原则 在任何父类出现的地方都可以用它的子类来替代
依赖倒置原则 要依赖于抽象 不要依赖于具体的实现
接口隔离原则 就当为客户端提供尽可以小的单独接口
迪米特原则 一个对象就当尽量少地与其它对象之间发生相到作用 使用系统功能模块相对独立
组合聚合复用原则 尽量使用组合聚合的方式而不是使用继承