Java 封装性概览

markdown ### 封装性 ```text 隐藏对象内部的复杂行,只对外公开简单的接口,通俗来讲: 就是把该隐藏的隐藏起来,该暴露的 暴露出来。这就是封装性的设计思想 ``` ### 权限修饰符 ```text 封装性的体现需要权限修饰符号来进行体现,将类的属性私有化,提供公共的方法来获取和设置 ``` ```text 四种权限修饰符都可以用来修饰类的内部结构: 属性,方法,构造器,内部类 修饰类,只能使用default/public ``` *

*default 就是不添加修饰符*

* ```text #示例代码 class Information { private String name; private String id; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getInfo() { return info; } } ``` #### (一)private ```text 类内部 Yes 同一个包 No 不同包内部 No 同一个工程 No ``` #### (二)default ```text 类内部 Yes 同一个包 Yes 不同包内部 No 同一个工程 No ``` #### (三)protected ```text 类内部 Yes 同一个包 Yes 不同包内部 Yes 同一个工程 No ``` #### (四)public ```text 类内部 Yes 同一个包 Yes 不同包内部 Yes 同一个工程 Yes ``` ### 构造器 ```text new 一个对象时,便自动化运行构造器 ``` *

*如果没有显示的定义类的构造器的话,则系统默认提供一个无参的构造器,如下*

* * 无参构造器 ```text class Information { public Information() { } } ``` * 有参构造器 ```text class Information { private String name; private String id; public Information(String name, String id) { this.name = name; this.id = id; } } ``` *

*[返回教程主页](https://www.monody.net/p/blog-page_3.html)*

* [//]: # (| 修饰符 | 类内部 | 同一个包 | 不同包内部 | 同一个工程 |) [//]: # (|:----------|:---:|:----:|:-----:|:-----:|) [//]: # (| private | Yes | No | No | No |) [//]: # (| default | Yes | Yes | No | No |) [//]: # (| protected | Yes | Yes | Yes | No |) [//]: # (| public | Yes | Yes | Yes | Yes |)

评论