java面向对象之封装

        面向对象的三大特性有:封装、继承、多态。

1、封装

1.1概述:

        封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问,把尽可能多的东西藏起来,对外提供便捷的接口。

        封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。主要功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的片段。使得代码更容易理解与维护,也加强了代码的安全性。

1.2封装的优点

(1)良好的封装能够减少耦合,提高系统的独立性;

(2)类内部结构可以自由修改;

(3)可以对成员变量进行更精确的控制;

(4)隐藏信息,实现细节。

1.3封装的使用

封装的实现过程:

(1)修改属性的可见性:设为private,防止错误的修改。例如:

/**
* 属性私有化
* 昵称
*/
private String nickName;
/**
* 年龄
*/
private int age;

(2)提供公共的访问方法:创建公有的getter/setter方法,给外部提供对应属性的设值和获取。例如:

//提供公共(public)的访问方法
//getter方法
public String getNickName() {
    return nickName;
}

//setter方法
public void setNickName(String nickName) {
    this.nickName = nickName;
}

//getter方法
public int getAge() {
    return age;
}

//setter方法
public void setAge(int age) {
    this.age = age;
}

(3)在getter/setter方法中根据需求加入属性控制语句

1.4this关键字

        this:当前类的对象。它是一个代词,类似于我们生活中像:自己、你...,当前正在构建或使用哪个对象,它就代表哪个对象。

可以调用属性:this.属性名(如果局部变量和成员变量同名,默认它会采用局部变量(就近原则),如果要用成员变量要加上this。)例如:

/**
* 成员变量
* 昵称
*/
private String nickName;

//局部变量
public void setNickName(String nickName) {
    this.nickName = nickName;
}

可以调用方法:this.方法名([实际参数])

可以调用构造方法:this([实际参数])(使用this调用构造方法时,不允许相互调用造成死循环)

注意:如果在某个构造中去调用另一个构造,this()/this(xxx)必须是构造方法中的第一条语句。

2、JavaBean规范

JavaBean规范,可以理解为是一种模型。符合这种规范的类都叫JavaBean。

1.属性私有化。(所有属性访问修饰符为private)

2.提供无参构造。(提供默认构造方法)

3.提供公共的getter和setter方法。

4.实现serializable接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值