1、定义:

  • 封装,顾名思义,就是密封包装起来。在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装、隐藏起来的方法。

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

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

2、好处

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

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

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

  4. 隐藏信息,实现细节。

3、关键字

封装使用的关键字,封装的级别

public、protected、默认、private

4、例

  • 修改属性的可见性来限制对属性的访问(一般限制为private),例如:

public class Person {
private String name;//私有变量
private int age; //私有变量
}
  • 对每个值属性提供对外的公共方法访问,也就是创建一对赋取值方法,用于对私有属性的访问,例如:

public class Person{
private String name;//私有变量
private int age; //私有变量

public int getAge(){//公共访问方法
return age;
}

public String getName(){
return name;
}

public void setAge(int age){
this.age = age;
}

public void setName(String name){
this.name = name;
}
}
  • 测试类
public class RunEncap{
public static void main(String args[]){
EncapTest encap = new EncapTest();
encap.setName("James");
encap.setAge(20);
encap.setIdNum("12343ms"); System.out.print("Name : " + encap.getName()+
" Age : "+ encap.getAge());
}
}
  • 结果
Name : James Age : 20

4、总结

以上实例中public方法是外部类访问该类成员变量的入口。

通常情况下,这些方法被称为getter和setter方法。

因此,任何要访问类中私有成员变量的类都要通过这些getter和setter方法。

java三大特性--封装的更多相关文章

  1. Java 三大特性——封装、继承、多态

    一.封装 封装,实际就是把属于同一类事物的共性(包括属性与方法)归到一个类中,以方便使用. 概念:在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节 ...

  2. 浅析Java三大特性封装、继承、多态,及作业分析

    前言 本次博客衔接上次博客,作为这一阶段Java学习的分析.上一篇博客着重介绍了Java的OO编程思维,面向对象与面向过程的区别.本篇博客重心在Java的三大技术特性,附带作业分析. Java三大特性 ...

  3. Java三大特性(封装,继承,多态)

    Java中有三大特性,分别是封装继承多态,其理念十分抽象,并且是层层深入式的. 一.封装 概念:封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别:将抽象得到的数据 ...

  4. 一、java三大特性--封装

    封装字面意思即包装.专业点来说就是数据隐藏,是指利用抽象数据将数据和基于数据的操作封装起来,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能的隐藏细节,只保留一些对外的接口和外部 ...

  5. 初步理解Java的三大特性——封装、继承和多态

    声明:整理自网络,如有雷同,请联系博主处理 一.封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被 ...

  6. JAVA三大特性之一——封装

    自学java已经有一段时间了,但是感觉对于很多知识点还是有必要总结和整理一下,下面我就来说一下我对JAVA三大特性之一——封装特性的认识和理解. 封装,从字面意思可以看出来,就是包装,也就是把我们写好 ...

  7. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  8. java三大特性:封装、继承、多态

    Java三大特性之封装   一.定义 封装性指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部的信息,而是通过该类所提供的方法来实现对内部信息的操作和访问. 二.使用封装的好处: 1 ...

  9. JAVA三大特性之多态

    面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. 多态的定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据 ...

随机推荐

  1. centos6.5环境利用scp实现自动化文件备份

    centos6.5环境利用scp自动上传备份文件到指定服务器中 需要备份的主机 192.168.3.17 存放备份的主机 192.168.3.18 目的:将3.17主机上/data/storage的文 ...

  2. Linux服务器性能评估

    一.影响Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘I/O带宽 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 影响性能因素 评判标准 好 坏 糟糕 CPU ...

  3. 《Oracle 11g 入门到精通.明日科技.pdf》学习笔记

    本博文整理者:刘军 本博文出自于: <Oracle 11g 入门到精通>一书 声明:1:转载请标注出处.本文不得作为商业活动.本人不负法律责任.违法者自负一切法律责任. ————————— ...

  4. java 标签编译后没有显示

    1.原因现在还不知,试了几个地方可以和不可以 /** * @author feilong */ public class OverLoading { /**@param args put here c ...

  5. Ubuntu 下安装LEMP环境 实战

    ---恢复内容开始--- 1.nginx的服务端的安装 打开命令行终端,在终端输入,sudo apt-get install nginx  回车即开始安装 kxlc-t@ubuntu:~$ sudo ...

  6. 《剑指offer》-递增数组中找到和为S的(最小)两个元素

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 首先 ...

  7. spoj694

    题意:求不相同的子串个数 题解: 考虑一下后缀数组 yy一下就能发现答案就是n*(n+1)/2-sigma(i=1;i<=n;i++)height[i] 代码:

  8. Kubernetes 安装

    一.引用自:https://www.cnblogs.com/gaoyuechen/p/8685771.html#_label6 二.安装过程中docker 坑 转自:https://blog.csdn ...

  9. Python debug 调试;

    F9:执行跳到下一个断点 F8:执行下一步 F7:进入函数

  10. 菜单联动,select联动菜单(搜索之后默认选中)

    框架:thinkphp php控制器代码: $schedulelist = M('schedule')->getField('sid,schedule_name'); $this->ass ...