Java 您所在的位置:网站首页 java三大基本特征及含义 Java

Java

2024-06-03 22:41| 来源: 网络整理| 查看: 265

1.概念理解: 

在OOP中,封装(encapsulation)是指对于某个对象,Java隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

而封装的优点则有以下几点:

①良好的封装能够减少耦合。

②类内部的结构可以自由修改。

③可以对成员变量进行更精确的控制。

④隐藏信息,实现细节。

对于想要实现的操作,一个类已经将其封装好,你只需调用方法即可,这正是OOP中的精髓。 通过封装使一部分成员充当类与外部的接口,而将其他的成员隐藏起来,这样就达到了对成员访问权限的合理控制,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作。

我们还是举两个例子来更好的理解封装这个概念!!!👇👇👇

2.应用举例 Example 1: import java.util.*; class Member { public String name;//公共属性name public int salary;//公共属性salary private String sex;//私有属性sex public void setSex(String sex) {//定义一个公共的方法来设置sex属性 this.sex=sex; } public String getSex() {//定义一个公共的方法来获取sex属性 return this.sex; } public void setHobby(String hobby) {//定义一个公共的方法来设置hobby属性 this.hobby=hobby; } public String getHobby() {//定义一个公共的方法来获取hobby属性 return this.hobby; } public void talk() {//定义一个公共的方法talk System.out.println(name+"聊得非常开心!"); } } public class Demo { public static void main(String[] args) { Member m=new Member(); m.name="小红";//对公共属性name直接赋值 m.salary=5000;//对公共属性salary也可以直接赋值 m.setSex("女");//对私有属性操作,要通过get来访问、set来更改的方法 m.setHobby("逛街");//同上 System.out.println("姓名:"+m.name+",性别:"+m.getSex() +",薪水:"+m.salary+",爱好:"+m.getHobby()+"!"); m.talk();//可以调用Member类中的公共方法talk } } 运行结果如下: 

上面这段代码,我们举例一个相对简单的例子,通过注释可以看到,这就实现了封装,对于公共属性name和salary,我们可以直接对其赋值;但是对于私有属性sex和hobby,我们需要通过使用set方法来为其赋值,再通过get方法来获取其值。

俗话说,概念理解的再多再准确,也不如写一段代码熟悉的更快!下面我们再举一个和上面类似的例子吧!!!👇👇👇

Example 2: import java.util.*; class Young { private String name; private int age; private String major; public void setName(String name) { this.name=name; } public void setAge(int age) { this.age=age; } public void setMajor(String major) { this.major=major; } public String getName() { return this.name; } public int getAge() { return this.age; } public String getMajor() { return this.major; } } public class Forever { public static void main(String[] args) { Young member=new Young(); member.setName("张三"); member.setAge(20); member.setMajor("计算机科学与技术"); System.out.println("学生姓名:"+member.getName()+ ",年龄:"+member.getAge()+ ",专业:"+member.getMajor()+"!"); } } 运行结果如下: 

这个例子和第一个差不多,大家可以去理解一下,如有问题,可以评论或者私信!!!

那么,以上就是博主对Java三大特性之一——封装的理解!!!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有