Java三大特性之封装,构造方法

本篇主要是讲OOP的三大特征,即封装,继承,多态


什么是封装?

封装就是把东西包装在一起,然后以新的完整的形式展现出来。

Java中就是把对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。

定义类,定义其属性、方法的过程称为封装一个类


封装就是把该隐藏的隐藏起来,把该暴漏的暴漏出来,这两点都需要通过Java提供的访问控制符来实现

修饰符       同一个类中      同一个包中      子类中       任何地方

private           Y                     N                     N                 N

无修饰符       Y                     Y                     N                 N

protected       Y                     Y                     Y                 N

public            Y                     Y                     Y                 Y


上面就是类中修饰访问控制修饰符权限,我们要实现封装,就需要使用private关键字

private顾名思义就是私有的

Javaprivate关键字访问控制级别最小:如果类里的成员(包括属性和方法)使用private访问控制符来修饰,则该成员只能在类的内部被访问


Java中的this关键字代表的是类本身,当类中使用他自己类的属性或者方法的时候,不需要创建类的对象,而是直接使用this关键字

this做为默认的引用有两种情形:

1.构造器初始化对象或者方法中形参与类中属性同名

2.方法中调用方法

Java三大特性之封装,构造方法

在类中,我们一般使用private在修饰其属性,使外界无法访问类中的属性,但是又开通了固定的对外接口(set和get方法)让外界来访问和设置类中的参数。

封装的好处:

1.隐藏类的实现细节

2.让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入逻辑控制,限制对属性的不合理访问

3.可进行数据检查,从而有利于保证对象信息的完整性

4.便于修改,提高代码的可维护性


什么是构造方法?

构造方法是一种特殊的没有返回值的方法,用来创建对象时的初始化

注意:没有返回值要跟返回值为空也就是void区分开来

构造方法格式:以学生类为例

public  Student(){

构造方法分类

1.默认构造方法(无参构造方法)

2.参构造方法

Java三大特性之封装,构造方法

Java三大特性之封装,构造方法

类中关于构造方法的注意事项:

1.在写类的时候,如果写了一个有参的构造方法,建议把无参的也加上,

   构造方法的有参和无参都可以写在一个类中,形成构造方法重载

2.如果写类的时候没有写任何构造方法,系统会为这个类提供一个无参的构造方法,

  无论如何一个类至少包含一个构造方法

3.构造方法的名字必须与Java类型相同