面向对象三大特征之封装

将属性封装起来,不让外部直接访问;提供getset方法访问;

package com.lv.am;

//数据的封装
//数据的实体类对象
//除了这个商品的对象 我们还有什么现实生活中也是这样来定义一个实体类
public class Goods {
    
    //1. 所有的属性都是作为一个私有的属性
    private String name;
    private float price;
    private String type;
    
    //2. 提供公共的get set 方法。对这个属性进行赋值和取值
        //快捷键 alt +shift+ s 然后 getters and  setters
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getPrice() {
        return price;
        }
        
    public void setPrice(float price) {
        if(price<0||price>20){
            System.out.println("非法的价格设置");
        }else{
            this.price=price;//合法的数据我们才进行设置
        }
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    
    //快捷键 alt+shift+s 然后toString()
    //把这个goods类里面的所有的属性 拼接成字符串
    @Override
    public String toString() {
        return "Goods [name=" + name + ", price=" + price + ", type=" + type + "]";
    }
    
    
    
}

测试代码:

package com.lv.am;

public class Test1 {

    public static void main(String[] args) {
        
        Person p=new Person();
        p.name="翠花";
        //p.age=20;//private访问修饰符修饰过的变量,其他类不能访问
        
        Goods goods=new Goods();
        goods.setName("苹果");
        //goods.price=20000;
        goods.setPrice(20000);
        goods.setType("水果");
        
        System.out.println(goods);

    }

}
原文地址:https://www.cnblogs.com/dabu/p/12328070.html