含义

封装 (encapsulation)

指隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

常见使用方法

class Person {
// 将属性私有化
private String name;
private int age;
private double salary;
// 构造器
public Person(String name, int age, double salary) {
this.setName(name);
this.setAge(age);
this.setSalary(salary);
}
// 公共的获取属性方法
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;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}

个人理解

  • 类中可以包含属性和方法,public和默认修饰符可以修饰类、属性和方法,protected和private只能修饰属性和方法。
  • 例如电视,内部电路和元器件如何组装等实现细节不需要用户考虑,只需要操作外边提供的按键即可,这是一种常见的隐藏细节,提供接口的封装案例。
  • 通常将类中属性设置为private私有化,然后在类中提供属性的set和get方法分别用来设置属性和获取属性。

最新文章

  1. 数据库访问CRUD;__SELF__和__ACTION__的区别;自动收集表单:$n->create();
  2. Qt工程转化为Vs工程
  3. WordPaster-Firefox浏览器控件安装方法
  4. 判断是否含有中文,包含返回true,不包含返回false
  5. sql server中的decimal或者numeric的精度问题
  6. mybatis中的变量#与$
  7. JavaScript DOM高级程序设计1.2-循序最佳实践--我要坚持到底!
  8. HDU 2722 Here We Go(relians) Again
  9. memcached + php 扩展 for ubuntu
  10. windows10 conda python多版本切换
  11. easyui 单元格超出鼠标放上弹出全部
  12. java 反射模式
  13. webpack 中版本兼容性问题错误总结
  14. filedisk.sys
  15. QT中的线程与事件循环理解(2)
  16. dialog 菜单
  17. PYTHON HTML.PARSER库学习小结--转载
  18. js修改input的type属性问题(兼容所有浏览器,主要用于密码类的默认有提示文字的效果)
  19. 字符串的最小最大表示法O(n)
  20. .NET程序调试技巧(一):快速定位异常的一些方法

热门文章

  1. extcon驱动及其在USB驱动中的应用
  2. 简易版 vue实现
  3. Blazor和Vue对比学习(基础1.7):传递UI片断,slot和RenderFragment
  4. unity---Lighting面板
  5. Nanodet模型部署(ncnn,openvino)/YOLOX部署(TensorRT)
  6. Python模块Ⅰ
  7. 详解TCP四次挥手(断开TCP连接过程)
  8. 基于云服务MRS构建DolphinScheduler2调度系统
  9. java面试:关于public static void main(String[] args)是什么意思?
  10. .NET C#基础(6):命名空间 - 组织代码的利器