栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习笔记——封装

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习笔记——封装

encapsulation

把属性和方法封装在一起,数据被保护在内部,程序的其他部分只通过被授权的方法,才能对数据进行操作

封装的好处
  • 隐藏细节
  • 对数据进行验证,保证安全合理
实现的步骤
  1. 将属性私有化private
  2. 提供一个公共的set方法,对属性判断并赋值
  3. 提供一个公共的get方法,用于获取属性的值
package encap;

public class Account {
    private String name;
    private double balance;
    private String password;

    @Override
    public String toString() {
        return "Account{" +
                "name='" + name + ''' +
                ", balance=" + balance +
                ", password='" + password + ''' +
                '}';
    }

    public Account(String name, double balance, String password) {
        this.setBalance(balance);
        this.setName(name);
        this.setPassword(password);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        if (name.length() >= 2 && name.length() <= 4){
            this.name = name;
        }else
            System.out.println("名字长度应在2-4,以自动选择默认值");
            this.name = "李华";
    }

    public double getBalance() {
        return balance;
    }

    public void setBalance(double balance) {
        if(balance >= 20){
            this.balance = balance;
        }else {
            this.balance = 20;
        }
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        if (password.length() == 6){
            this.password = password;
        }else {
            this.password = "666666";
        }
    }

}

package encap;

public class AccountTest {
    public static void main(String[] args) {
        Account account = new Account("nacy",200,"123456");
        Account account1 = new Account("lllll",0,"124");
        System.out.println(account.toString());
        System.out.println(account1.toString());
    }
}

结果

名字长度应在2-4,以自动选择默认值
Account{name=‘李华’, balance=200.0, password=‘123456’}
Account{name=‘李华’, balance=20.0, password=‘666666’}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299115.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号