面向对象的特征

面向对象的三大基本特征:封装 继承 多态

封装 (Encapsulation])

private 私有的 只有本类中可以使用的

public  公共的 任何位置都可以使用的

封装对于类的开发者和使用者都有好处

    开发者: 能够让数据得到保护 从而更加安全

    使用者: 能够让使用者将精力集中在核心业务上

属性

官方要求 每一个属性都应当使用private修饰 

并且配合提供 两个public的方法

一个用于设置属性的值 setter()

一个用于得到属性的值 getter()

方法

官方要求 学会分辨方法是核心方法 还是 给核心方法提供服务的方法

核心方法(需要外界调用的方法)使用public修饰

给核心方法服务的方法(不需要外界使用的方法) 用private修饰

继承(Inheritance)

关键字:extends

●父类有相当于子类也有 

●继承是代码共享最最简单的方式之一

●Java当中的类只支持单向继承,一个类最多只能有一个父类

●私有属性在子类的存储空间当中确实存在(这是由于创建对象的流程所决定的),但是不能直接使用,所以不能算作继承得到的

多态(Polymorphism)

●一个事物总有多种存在的形态

●一个对象总有多种称呼它的类型

●多态的出现 是要伴随着一种语法--父类类型 = 子类对象

●编译的时候 编译器会根据对象左侧的类型来进行语法检查,但是运行的时候 事物是客观存在的 不会因为你改变称呼它的类型 而发生任何变化,所以当我们调用方法的时候什么类型的对象定然执行什么类的方法

●事物是客观存在的 不会因为你改变称呼它的类型 而发生任何变化

●多态能够降低类和类之间的耦合关系,让先出现的类型 在不做任何修改的情况下,就能跟之后出现的新类型 结合起来使用

方法重载(方法过载)

●发生在同一个类当中,方法名字相同,但是参数列表不同(参数个数不同、参数类型不同、参数顺序不同)的两个方法(名字不同不能算作不同)

●方法重载 能够让同一个方法有多种不同的存在形态,从而让方法适用范围更加广泛

方法覆盖(方法重写)

●发生在有继承关系的父类和子类之间子类当中

●子类在继承得到父类的方法之后对其实现并不满意,于是进行了重新实现  

方法覆盖要求

●访问控制权限修饰符不能越变越小

●方法签名(返回类型 + 方法名 + 参数列表)必须完全相同

●抛出的异常声明(异常范围)不能越变越大

●如果在方法覆盖的时候 需要沿用父类的方法实现并且只是给出补充和扩展 那么可以学会使用super.fun();(fun()为父类的方法)

●使用注解@Override来保证方法覆盖必然成立

●从JDK5.0开始,方法覆盖的时候支持协变返回类型,在子类中重写父类的方法时,返回类型可以是子类的对象,也可以是当前类的父类的子类对象

本文标题:面向对象的特征
转载请注明:https://blog.grstudy.com/java/note/16

标签: Java 笔记

演示站
上一篇:Java中的数组
下一篇:构造方法和参数传递