JAVA面向对象三大特征
JAVA面向对象三大特征
一:封装
1,解释:封装的实质就是属性私有化
2,步骤:
- 修改属性的访问权限
- 为每个属性提供对象的操作方法(setter,getter),通过这些方法访问私有属性
- 在setter,getter中对属性的访问权限进行设置
3,优点:
- 对外隐藏实现细节暴露接口,让对象中的数据更加安全
- 封装后方便数据传输
二:继承
1,解释:java中代码复用的一种方式,让子类拥有父类的属性和方法。A extends B(A继承B)
2,特点:
- 继承中父类更加通用,子类更加具体。
- 子类具有父类中的所有属性和方法,子类也可以创建自己特有的属性和方法。
- 子类继承父类后,创建子类对象时,会首先创建父类对象,然后再创建子类对象。
- 默认情况下,子类构造方法自动调用父类无参构造方法;当父类没有无参构造方法时,子类必须显式调用父类的含参构造方法。
- java中的所有类都直接或间接的继承Object类。
3,java中的继承机制:类是单继承机制,接口是多继承机制。
4,优点:降低代码重复性,减少代码量,让代码之间结构性更强。
三:多态
1,解释:多态的本质是一个对象在不同的环境下有不同的表现,
2,表现形式:继承,方法重写,抽象类,接口
3,书写方式:Father father=new Son();(父类的声明接收子类对象)
4,特点:
- 多态的实现离不开方法重写。
- 方法重写规则,方法声明部分一致,只有方法体不同;子类重写的方法访问权限不能小于父类方法访问权限。
- 声明的是父类类型,实际使用的是子类对象。
- 使用多态时,能够调用的方法必须是父类中声明的,不能调用子类中特有的方法。
- 使用多态时,在调用方法时,优先考虑子类中重写过的方法,若子类没有重写父类的方法则调用的是父类中的方法。
5,优点:扩展性强,增加代码的灵活度。