![](https://img.haomeiwen.com/i8331536/da784d1586295c5d.png)
内容导航:
- 前言
- 1、定义
- 2、实现方式
- 3、示例代码
前言
封装性是面向对象三大特征之一,我们学习了访问级别修饰符后,应该可以更好的理解封装的概念和含义。
1、定义
封装是一种信息隐藏技术,包含两个含义:
-
对象的全部属性和方法被结合在一个类体内,形成一个不可分割的独立单位。
-
尽可能隐藏对象的内部结构
2、实现方式
- 属性使用private权限
- 方法使用public权限
3、示例
示例代码:
package com.company.practice.demo;
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
完整示例:
package com.company.practice.demo;
public class User {
private String name;
private int age;
public User() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
User other = (User) obj;
if (age != other.age)
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
持续更新,欢迎留言提议!
码字很累,多点赞多赞赏!
![](https://img.haomeiwen.com/i8331536/d14151a05112b1fa.png)
网友评论