Java学习笔记之:Java封装

时间:2023-03-08 15:49:47

一、引言

在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

二、笔记

当我们给属性加上private关键字之后,当我们实例化User类,只能访问age属性而不能访问nameString属性,只能间接访问。

package com.hgd.study5;

import java.sql.Date;

public class User {

    /*
* 通过private 关键对属性进行私有化
*/
private String nameString="admin";
int age=30;
public String getName() {
return this.nameString;
} public void setName(String name) {
this.nameString=name;
System.out.println("不能注册");
} public void setAge(int age) {
//对年龄做出判断更好的限制了数据的随机性
if (age<18) {
System.out.println("不能注册");
}
else {
this.age=age;
System.out.println(age);
}
}
}
public class Package {

    //可以看到,我们可以直接访问User类的age属性,但是如果想要获取和设置User的name属性,只能间接调用getName方法和setName方法
public static void main(String[] args) {
User user = new User();
System.out.println(user.age);
user.getName();
user.setName("123");
user.setAge(1);
}
}

三、快捷操作

eclipse提供了快捷生成set和get方法的操作

1.定义一个类,添加两个属性。

public class Temp {

    private String A;
private int B;
}

2..点击 源码=》生成Getter和Setter

Java学习笔记之:Java封装

3.选择需要生成的属性和方法,点击确定,系统会自动生成方法。

Java学习笔记之:Java封装

public class Temp {

    private String A;
private int B;
public String getA() {
return A;
}
public void setA(String a) {
A = a;
}
public int getB() {
return B;
}
public void setB(int b) {
B = b;
}
}