java面向对象
1.Java面向对象是什么
OOP(面向对象编程)、OOD(面向对象设计)、OOA(面向对象的分析)
Object Oriented Programming
万物皆对象。将现实的事物抽象出来,抽象成类,通过继承、实现、组合的方式把万事万物都给容纳了。实现了对现实世界的抽象和数学建模 抽象会使复杂的问题简单化,从以前执行者变成指挥者,面向对象更符合人类思维,面向过程符合机器思想。
2.面向对象的三大特征
-
封装:将对象的属性和对属性的操作封装起来,从而来隐藏对象的属性和实现细节,仅对外提供公有的访问方式,对对象便于操作,提高复用性和安全性。
-
继承:子类可以继承父类非似有的属性和方法 提高代码的复用性,继承是多态的前提Java不支持多继承(因为多继承会带来一定的问题)。
-
多态: 父类或接口定义的引用变量指向子类或具体实现的实例对象,提高程序的扩展性,灵活性,和简化性。
继承的注意事项
- 父类的构造方法不能被继承。
- 构造方法不能被继承,但是可以使用super关键字去访问父类的构造方法。
- 方法和属性可以被继承(只能继承父类非私有化的属性和方法)。
- super关键字必须是构造方法的第一行语句。
- 子类的构造方法第一行语句默认都是super();
- Java在创建一个子类对象时,首先调用父类的不带参数的构造方法,生成父类对象,然后在去调用子类的构造方法,生成子类对象。
多态的实现方式
- 重写
- 接口
- 抽象类和抽象方法
总结
面向对象比面向过程更加符合人类思维模式,面向对象的特征:继承,封装,多态它的好处是为方便数据操作,增强了代码的可扩展性,灵活性