封装

小白一枚,若内容有侵权,请指出

今天总结一下面对对象程序设计三大特性之一:封装

封装

封装其实就是一种思想,做个小小的例子,平常用的充电宝,我们可以通过统一的USB接口去使用它,但是其内部构造是怎么样子,却不了解。

封装思想:

1.把对象的状态和行为看成一个统一的整体 将二者存放在一个独立的模块中(类)
2.信息隐藏 隐藏对象功能实现细节(尽可能隐藏)

如果外界想拿到隐藏的信息的值,就只能看有没有提供相应的接口,即取值和赋值的方法。

没有封装就没有继承,但是继承会破坏封装

class User{
    private String name; //字段名  即属性私密化
    private int age;
    
    //取值和赋值方法
    public void setName(String name) {
        this.name = name;     //字段名 = 变量取值和赋值方法
    }
    public String getName() {
        return name;           //return字段名
    }
}

public static void main(String[] args) {
        //此时不能直接拿到name和age的值,也不能直接对其赋值,只能通过get,set方法
        User u1 = new User();
        
        u1.setName("张三");
        
        System.out.println(u1.getName());
}

讲到封装,就必须讲讲修饰符

修饰符

当在定义类时,使用public,可不写(默认一定为public)


1.private (类访问权限):修饰字段,方法,构造器,只能在当前类的范围
2.package (缺省/包访问权限):(即不写修饰符的时候)在同一个包中才可访问   
3.protected (子类访问权限):其他类不能访问,但是父类和子类(不在同一个包中也可以)可以访问
4.public (公共访问权限):在任何地方都可以访问

所以,封装不仅仅体现在类上,包(package)也体现了封装

 

坚持学习,永远年轻,永远热泪盈眶
原文地址:https://www.cnblogs.com/jiang0123/p/11279802.html