Java如何进行封装

简介: Java如何进行封装

0 写在前面

1、 良好的封装能够减少耦合。

2、类内部的结构可以自由修改。

3、可以对成员变量进行更精确的控制。

4、隐藏信息,实现细节。

1 进行封装

修改属性的可见性来限制对属性的访问,即将属性设置为私有的(private):
例如定义一个类,将他的属性设置为private

public class Notice {
   private Integer id;

   private String noticeUuid;

   private Date creationTime;

   private String creationName;

   private String noticeContent;

}

这样就完成了对类的封装。
# 2 访问数据
对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问。
需要设置:

获取数据:get方法。
设置数据:set方法。
有参构造,无参构造。toString重写

此时可以使用IDEA的代码生成,快捷键为Alt+INSERT;在这里插入图片描述


public class Notice {
    private Integer id;

    private String noticeUuid;

    private Date creationTime;

    private String creationName;

    private String noticeContent;

    public Notice() {
    }

    public Notice(Integer id, String noticeUuid, Date creationTime, String creationName, String noticeContent) {
        this.id = id;
        this.noticeUuid = noticeUuid;
        this.creationTime = creationTime;
        this.creationName = creationName;
        this.noticeContent = noticeContent;
    }

    @Override
    public String toString() {
        return "Notice{" +
                "id=" + id +
                ", noticeUuid='" + noticeUuid + '\'' +
                ", creationTime=" + creationTime +
                ", creationName='" + creationName + '\'' +
                ", noticeContent='" + noticeContent + '\'' +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNoticeUuid() {
        return noticeUuid;
    }

    public void setNoticeUuid(String noticeUuid) {
        this.noticeUuid = noticeUuid;
    }

    public Date getCreationTime() {
        return creationTime;
    }

    public void setCreationTime(Date creationTime) {
        this.creationTime = creationTime;
    }

    public String getCreationName() {
        return creationName;
    }

    public void setCreationName(String creationName) {
        this.creationName = creationName;
    }

    public String getNoticeContent() {
        return noticeContent;
    }

    public void setNoticeContent(String noticeContent) {
        this.noticeContent = noticeContent;
    }
}

使用举例:

import java.util.Date;
import java.util.UUID;

public class Test {
    public static void main(String[] args) {
        Notice notice1 = new Notice();//无参构造
        Notice notice2 = new Notice(2, UUID.randomUUID().toString(),new Date(),"张三","嘎嘎嘎");//有参构造

         //使用set方法设置属性内容
        notice1.setId(1);
        notice1.setNoticeUuid(UUID.randomUUID().toString());
        notice1.setCreationTime(new Date());
        notice1.setCreationName("小腾");
        notice1.setNoticeContent("我是内容嘛");

        //使用get获取属性内容
        Integer id = notice2.getId();
        String noticeUuid = notice2.getNoticeUuid();
        Date creationTime = notice2.getCreationTime();
        String creationName = notice2.getCreationName();
        String noticeContent = notice2.getNoticeContent();

        //输出notice1,看set()方法是否成功设置内容
        System.out.println(notice1);

        //输出各个属性,看get()方法是否成功获取内容
        System.out.println(id+"---"+noticeUuid+"---"+creationTime+"---"+creationName+"---"+noticeContent);

    }
}

以上,成功运行
在这里插入图片描述

相关文章
|
1月前
|
安全 Java 数据安全/隐私保护
|
1月前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
17 3
|
5月前
|
Java 编译器
Java基础知识:什么是封装、继承和多态?
Java基础知识:什么是封装、继承和多态?
73 0
|
5月前
|
Java C#
Java(十八)封装
Java(十八)封装
28 0
|
2月前
|
Java
Java常用封装Base对象
Java常用封装Base对象
8 0
|
2月前
|
Java 关系型数据库
JAVA类的设计与封装
JAVA类的设计与封装
16 1
|
2月前
|
Java 数据安全/隐私保护 开发者
从零到一:深入理解Java中的封装、继承与多态
从零到一:深入理解Java中的封装、继承与多态
47 0
|
2月前
|
安全 Java
java-基本数据类型的类封装
java-基本数据类型的类封装
15 0
|
2月前
|
Java
Java中的面向对象编程特性(封装、继承、多态)
Java中的面向对象编程特性(封装、继承、多态)
|
2月前
|
存储 Java 编译器
【详识JAVA语言】面向对象程序三大特性之一:封装
【详识JAVA语言】面向对象程序三大特性之一:封装
52 1