Java基础-面向对象
面向对象和面向过程的区别
- 面向过程:将解决问题的方法拆分成多个方法,按照顺序执行
- 面向对象:面对问题,先抽象出对象来,再用对象来解决问题呢
- 面向对象比面向过程更容易维护、扩展、复用
- 面向过程的执行效率更高
面向对象三大特征
封装:将对象信息(属性)隐藏起来,外部对象无法直接访问,提供一些对外的方法来操作属性。
继承:不同类对象之间存在共同点。
- 子类拥有父类的所有属性和方法,但是子类无法访问这些属性和方法,只是拥有
- 子类可以拥有自己的属性和方法,即对父类进行扩展
- 子类可以用自己的方法对父类的方法进行实现
多态:对象具有多种状态,具体表现为父类引用指向子类实例
- 引用类型和对象类型之间是继承/实现的关系
- 引用调用的方法具体是哪一个类的方法,只有等到程序运行时才知道
- 多态不能调用父类存在但子类不存在的方法
- 如果子类重写了父类的方法,真正执行的是子类覆盖的方法,如果子类没有重写父类的方法,则执行的是父类的方法