详解Java基础之封装
目录
- Java基础知识(封装)
- 封装
- 封装的目的
- 封装的好处
- 封装的步骤
- 封装的例子
- 总结
Java基础知识(封装)
封装
那封装是什么呢?
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
封装的目的
- 直接通过操控类对象来达到目的,不需要对具体实现十分了解,使类属性和方法的具体实现对外不可见。不但方便还起到了保护作用。
- 封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。
- 适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
封装的好处
- 良好的封装能够减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员变量进行更精确的控制。
- 隐藏信息,实现细节。
封装的步骤 1.修改属性的可见性来限制对属性的访问(一般限制为private),
例如:
public class Person {private String name ; // 姓名private String gender ; // 性别private int age; // 年龄}
这段代码中,将 name 、sex和 age 属性设置为私有的,只能本类才能访问,其他类都访问不了,如此就对信息进行了隐藏。
2.对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问
例如:
public class Person {private String name ; // 姓名private String gender ; // 性别private int age; // 年龄public void setName(String name) {this.name = name; }public String getName() {return name; } public void setGender(String gender) {this.gender = gender; }public String gender(){return gender; }public void setAge(int age) {this.age = age; }public int getAge() {return age; }}
采用 this 关键字调用本类中的属性,也就是类中的成员变量。主要为了解决实例变量(private String name)和局部变量(setName(String name)中的name变量)之间发生的同名的冲突。
封装的例子 创建一个用户类User:
代码如下:
package com.ygt.pojo; public class User {private String username; // 用户名private String password; // 密码public String getUsername() {return username; }public void setUsername(String username) {this.username = username; }public String getPassword() {return password; }public void setPassword(String password) {this.password = password; }}
编写测试User的
demo:EncapsulationDemo
代码如下:
package com.ygt; import com.ygt.pojo.User; public class EncapsulationDemo {public static void main(String[] args) {User user = new User(); user.setUsername("最爱吃鱼罐头"); user.setPassword("520"); System.out.println("username: " + user.getUsername() + "-----------"+ "password: " + user.getPassword()); }}
执行结果如下:
username:最爱吃鱼罐头-----------password520
总结 相信各位看官都对封装有深入的了解吧,那我们继续期待更多Java基础相关的内容吧!欢迎期待下一章的到来!
封装实际上是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。就是把我们想提供给外界的一些方法给暴露出来,以便外界能调用到我们。
【详解Java基础之封装】本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- Java十分钟精通异常处理机制
- Java十分钟精通反射机制原理
- Java|Java 异步实现的几种方式小结
- Java十分钟掌握数组与常见异常
- Java十分钟精通多态与抽象类的使用与原理
- Java十分钟理清面向对象与类的核心
- Java十分钟精通类|Java十分钟精通类 封装 继承
- 学习路线|学习计算机基础有什么推荐的书和视频()
- C语言基础|【Visual Studio 2019】 实用调试技巧,学会了都说好
- C语言基础|【C语言入门必看】指针