<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
概念:我们在写入一个类的时候,为了保护里边的属性不被随意的呼叫这是我们可以使用特殊的修饰符进行相应的保护,而这样的话我们似乎只能在该类中呼叫使用了,出现某些特殊情况时就会无法发呼叫,虽然挺高了安全性但也降低了灵活性,这个时候我们的包装类就出现了,我们通过对某个方法的进行特殊方法的包装来对其进行相应的呼叫与赋值。就相当于银行为了保护财产会选择将金钱放进保险柜中来确保其的安全,但是当我们要取钱时,银行就要拿钥匙开启保险柜。修饰符相当于银行的保险柜,封装相当于保险柜的钥匙。
存取修饰符如下:
1) public 公共控制修饰符
2) protected 保护存取控制修饰符
3) default 预设预设控制修饰符
4) private 私有存取控制符
它们的存取许可权如下图:
包装的特点:
1)便于正确使用系统,防止错误修改属性
2)有助于系统之间的松耦合,提高系独立性
3)提高软体的重用性
4)降低了构建大型系统的风险
包装的快捷键:
大部分的编译软体都有相应的包装快捷键就例如我用的开发工具idea就像相对应的get()set()有参无参构造方法如下图
我们右键单击后会出现相应选项我们点选Generate,也有相应的快捷键Alt+Insert直接开启Generate
进入Generate后我们选择Constructor
该选项是选择无参和有参构造的,我们全选点选OK即可将所有的私有属性进行有参构造,点选
Select None则是进行无参构造
再次进入Generate后我们选择Getter and Setter
该选项是构造方法引入和修改私有属性,Getter()表示获属性,Setter()表示修改属性,进入后我们全选点选OK,就可以进行构造。
测试类程式码如下:
package com.ytzl.total; /*封装类*/ public class test { public static void main(String[] args) { //范例化一个物件 encapsulation encapsulation = new encapsulation(); System.out.println("通过封装方法获取封装类中的私有属性==>"+encapsulation.getA()); System.out.println("通过封装方法获取封装类中的私有属性==>"+encapsulation.getB()); //我们也可以通过相应的构造方法来改变风种类中的私有属性 encapsulation.setA(20); encapsulation.setB("被是同相应的构造方法进行改变"); System.out.println("通过封装方法获取封装类中的私有属性==>"+encapsulation.getA()); System.out.println("通过封装方法获取封装类中的私有属性==>"+encapsulation.getB()); //我们也可以通过封装方法来改变封装类中的私有属性 encapsulation encapsulation1 = new encapsulation(10,"被呼叫方法改变后"); System.out.println("通过呼叫方法类来改变封装类中的私有属性后==>"+encapsulation1.getA()); System.out.println("通过呼叫方法类来改变封装类中的私有属性后==>"+encapsulation1.getB()); } }
实体类程式码如下:
package com.ytzl.total; public class encapsulation { private int a=8; private String b="私有属性"; public encapsulation() { } //如果需要在呼叫方法中改变私有属性需要呼叫该有参方法 public encapsulation(int a, String b) { this.a = a; this.b = b; } public int getA() { return a; } public void setA(int a) { this.a = a; } public String getB() { return b; } public void setB(String b) { this.b = b; } }
执行结果如下:
到此这篇关于Java超详细介绍封装与存取控制修符的文章就介绍到这了,更多相关Java封装内容请搜寻it145.com以前的文章或继续浏览下面的相关文章希望大家以后多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45