封装的概念

本文介绍了如何通过设置私有属性和getter/setter方法增强Java类的代码安全性,防止非法访问。同时,详细展示了如何实现toString方法以避免打印内存地址,并在setter方法中加入安全验证。此外,还探讨了构造方法的作用,包括无参和有参构造器在对象创建和初始化时的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1.提高代码的安全性,防止被其他类随意访问

public class Books {
    private int bookId;
    private String bookName;
    private String bookAuthor;
    private int bookNum;
    private double bookPrice;
    private String introduce;


}

toString给对应变量赋值,没有toString打印输出内存地址

​
  @Override
    public String toString() {
        return "Books{" +
                "bookId=" + bookId +
                ", bookName='" + bookName + '\'' +
                ", bookAuthor='" + bookAuthor + '\'' +
                ", bookNum=" + bookNum +
                ", bookPrice=" + bookPrice +
                ", introduce=" + introduce +
                '}';
    }

​

2.可以针对属性设置getter和setter方法完成对属性的获取和赋值

同时我们可以在方法中对属性进行安全验证

package com.company.bean2;

public class Books {
    private int bookId;
    private String bookName;
    private String bookAuthor;
    private int bookNum;
    private double bookPrice;
    private String introduce;

  

    public int getBookId() {
        return bookId;
    }

    public void setBookId(int bookId) {
        this.bookId = bookId;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getBookAuthor() {
        return bookAuthor;
    }

    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }

    public int getBookNum() {
        return bookNum;
    }

    public void setBookNum(int bookNum) {
        if (bookNum >= 0 && bookNum <= 100) {
            this.bookNum = bookNum;
        }

    }


    public double getBookPrice() {
        return bookPrice;
    }

    public void setBookPrice(double bookPrice) {
        this.bookPrice = bookPrice;
    }

    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

  
}

构造方法:

1.它是用来创建对象的

2.类默认创建无参的构造方法如果自定了任意一个构造方法那么系统就不会再给你创建默认的构造方法

3.无参的构造方法是用来实例化对象的有参的构造方法不仅实例化对象同时给类的属性方法赋值

  public Books() {
    }

    public Books(int bookId, String bookName, String bookAuthor, int bookNum, double bookPrice, String introduce) {
        this.bookId = bookId;
        this.bookName = bookName;
        this.bookAuthor = bookAuthor;
        this.bookNum = bookNum;
        this.bookPrice = bookPrice;
        this.introduce = introduce;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值