本篇主要是讲OOP的三大特征,即封装,继承,多态
什么是封装?
封装就是把东西包装在一起,然后以新的完整的形式展现出来。
Java中就是把对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。
定义类,定义其属性、方法的过程称为封装一个类
封装就是把该隐藏的隐藏起来,把该暴漏的暴漏出来,这两点都需要通过Java提供的访问控制符来实现
修饰符 同一个类中 同一个包中 子类中 任何地方
private Y N N N
无修饰符 Y Y N N
protected Y Y Y N
public Y Y Y Y
上面就是类中修饰访问控制修饰符权限,我们要实现封装,就需要使用private关键字
private顾名思义就是私有的
在 Java 中 private 关键字访问控制级别最小:如果类里的成员(包括属性和方法)使用 private 访问控制符来修饰,则该成员只能在类的内部被访问
Java中的this关键字代表的是类本身,当类中使用他自己类的属性或者方法的时候,不需要创建类的对象,而是直接使用this关键字
this做为默认的引用有两种情形:
1.构造器初始化对象或者方法中形参与类中属性同名
2. 方法中调用方法
在类中,我们一般使用private在修饰其属性,使外界无法访问类中的属性,但是又开通了固定的对外接口(set和get方法)让外界来访问和设置类中的参数。
封装的好处:
1.隐藏类的实现细节
2.让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入逻辑控制,限制对属性的不合理访问
3.可进行数据检查,从而有利于保证对象信息的完整性
4.便于修改,提高代码的可维护性
什么是构造方法?
构造方法是一种特殊的没有返回值的方法,用来创建对象时的初始化
注意:没有返回值要跟返回值为空也就是 void 区分开来构造方法格式:以学生类为例
public Student(){
}
构造方法分类
1.默认构造方法(无参构造方法)
2. 有 参构造方法
类中关于构造方法的注意事项:
1.在写类的时候,如果写了一个有参的构造方法,建议把无参的也加上,
构造方法的有参和无参都可以写在一个类中,形成构造方法重载
2.如果写类的时候没有写任何构造方法,系统会为这个类提供一个无参的构造方法,
无论如何一个类至少包含一个构造方法
3. 构造 方法的名字必须与 Java 类型相同