封装

访问修饰符

从大到小排序

public、protected、default、private(default什么都不写)

public:公共的 任何人都可以访问

protected:受保护的 相同点的包和子类(可能写在不同的包里)都可以访问

default:默认的 相同的包中可以访问

private:私有的 自己能访问

例子:银行的存折,私有化以后,别人是不能取钱的,但是只要你输入正确的密码了,就可以访问了

有些数据我们不想给别人修改,那只能私有化。因为私有化了,所以还要提供公共的方法来进行获取和设置。get/set方法。 在这些方法里面可以写语句和判断进行控制。从而保证我们的数据是有效和

真实的。

如:一周只有星期一到星期天,一个月的天数不大于31天小于28天

封装的原因就是这样

给属性赋值的方法:

1、直接给属性赋默认值

2、通过构造方法给属性赋值

3、通过封装的方式给属性赋值,且可以灵活的进行判断和处理

属性封装

1、私有的属性private(对私有成员的保护)

private int love= 100;

2、公开的set/get方法(接口稳定)

​ //get:允许外部获取私有成员

​ //set:允许外部对私有成员进行赋值

作用:控制外界对我的数据的操作权限等等,有了方法,我们是可以通过语句来进行控制的。

public void setlove(int love){

//有条件的给自己赋值保证了数据的合理和完整

if(love<0){

love=0;

this.love=love;

/**

*返回给外界

\* @return

public int getLove(){

return love;

}

属性封装在Java中也是一种规范。

规则:set/get setName name,第一个字母是大写

Java反射技术:可以通过这个技术来访问私有的属性!!!(前提是有规范)

封装的概念是非常广泛的:

抽象类和接口、设计模式、框架,等等都融合了很多的封装的概念的思想。

总结:将信息适当的隐藏,预留接口给外界使用。

boolean类型的封装:get方法可以用is

3、方法重载(在一个类的内部,或者父子之间)

1)方法名相同

2)参数不同(类型、个数、顺序)只要有一个不同

3)与返回值类型无关(跟重写的区别,方法重写是与返回值类型有关的)

/**
         * 有参数的构造方法
         * 一般根据表格字段来决定,不为null的字段是要写进来的
         */
    public Dog(String name,int health) {
        this.name=name;
        this.health=health;
        this.love=25;
        this.starin="新拉布拉多犬";        
    }
    
    /**
     * 一般我们写实体类的时候写2个构造方法:1.有参构造  2.无参构造
     */

封装.jpg

最后修改:2022 年 01 月 06 日 11 : 02 AM
如果觉得我的文章对你有用,请随意赞赏