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);

    }
}

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值