详解Java基础之封装

网友投稿 293 2022-09-03


详解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基础相关的内容吧!欢迎期待下一章的到来!

封装实际上是将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作。就是把我们想提供给外界的一些方法给暴露出来,以便外界能调用到我们。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【每日算法】利用二段性找最大 H 指数
下一篇:【每日算法】数据结构综合运用:「哈希表套数组」&「哈希表套树」(数字分析法构造哈希表详解)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~