继承、封装、多态、抽象是面向对象编程的四大基本概念,其中封装装为重要,因为从我们学习JAVA开始,就基本上接触了封装,因为JAVA中的所有程序都是写在类中的,类也能当做一种封装

  在面向对象中封装是指   隐藏对象的属性和实现的细节,仅对外提供公共访问方式。在类定义中用private关键字来实现封装。

封装有什么好处?

  一是用private把类的细节与外界隔离起来,从而实现数据项和方法的隐藏,而要访问这些数据项和方法唯一的途径就是通过类本身,类才有资格调用它所拥有的资源(方法,数据项属性等等)。所以第一个好处就是数据的安全性提高了。

  二是通过隐藏隔离,只允许外部对类做有限的访问,开发者可以自由的改变类的内部实现,而无需修改使用该类的那些程序。只要那些在类外部就能被调用的方法保持其外部特征不变,内部代码就可以自由改变,各取所需,利于分工。

  三就是提高了代码的重用性,封装成工具类以后能够减少很多繁琐的步骤。

例如:
public class Student {    //声明一个公共类 Student
 //  私有变量学号
 private int id;    
 //私有变量姓名
 private String name;
 //私有变量年龄
 private int age;
 //私有变量性别
 private String sex;
 //查看学号
 public int getID(){   //声明公共方法获取学号
  return id;
 }
 //修改学号
 public void setID(int id){   //viod 是不返回任何值
  this.id=id;
 }
 //查看姓名
 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 String getSex(){
  return sex;
 }
 //修改性别
 public void setSex(String sex){
  this.sex=sex;
 }
}

要修改和查看学生的信息必须通过SETXXX、和GETXXX来实现。 这是能初步体现封装的的例子。我们也能在SET方法中加些判断限制,大大的减少了垃圾信息。

注释:表示空类型,它跟int,float是同地位的,一般用在没有返回值的函数中,比如你写void main (),主函数完了不用写return 语句,但是如果是int main ()或者是main (),你不写return 语句它就会有warning

转载于:https://www.cnblogs.com/donglaidongwang/p/6813613.html

java封装的概念学习笔记相关推荐

  1. java/android 设计模式学习笔记(1)--- 单例模式

    前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...

  2. Java快速入门学习笔记9 | Java语言中的方法

    有人相爱,有人夜里开车看海,有人却连LeetCode第一题都解不出来!虽然之前系统地学习过java课程,但是到现在一年多没有碰过Java的代码,遇到LeetCode不知是喜是悲,思来想去,然后清空自己 ...

  3. Java 8 实战学习笔记

    Java 8 实战学习笔记 @(JAVASE)[java8, 实战, lambda] 文章目录 Java 8 实战学习笔记 参考内容 Lambda表达式 Lambda环绕执行模式(抽离步骤) 原始代码 ...

  4. JAVA并发编程实践笔记

    2019独角兽企业重金招聘Python工程师标准>>> JAVA并发编程实践笔记 博客分类: java JAVA并发编程实践笔记 1, 保证线程安全的三种方法:     a, 不要跨 ...

  5. 《疯狂Java讲义》学习笔记 第六章 面向对象(下)

    <疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...

  6. JAVA网络编程个人笔记 第4章 inet地址

    JAVA网络编程个人笔记 第4章 inet地址 Internet寻址 创建InetAddress对象 常用方法 getLocalHost() 代码实现 getByName() 代码实现 getAllB ...

  7. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

  8. [转载]Java完美经典读书笔记

    java完美经典读书笔记 第一章 概述 第二章 JAVA语言基础 ※关键字: 基本数据类型:  byte  short  int  char long float double boolean 循环控 ...

  9. Java微服务学习笔记(一):微服务架构的概念理解

    Java微服务学习笔记 Tips:入门学习时粗略整理,仅供参考 (一):架构的基础理解 文章目录 Java微服务学习笔记 前言 一.微服务是什么? 二.常用开源微服务框架演化 1. Dubbo 2. ...

  10. Java基础知识之笔记总结分享

    Java基础知识之笔记总结分享 给大家分享一篇我之前在学习java过程中的关于java基础部分的笔记,比较详细,内容也比较多. 如有问题请指出以便修改,谢谢. 篇幅较长建议收藏浏览. 1 环境变量配置 ...

最新文章

  1. 彻底理解 Cookie,Session,Token
  2. struts2学习 - action -3 动态方法调用 DMI
  3. JAVA 编写程序实现如下功能:一个线程进行如下运算1*2+2*3+3*4+……+19*20,而另一个线程则每隔一段时间读取前一个线程的运算结果。
  4. Android - 网络基础
  5. 内存容量对计算机运行影响大吗,探索内存容量对基础应用的性能影响有多大
  6. 【数据结构与算法】之深入解析“LFU缓存”的求解思路与算法示例
  7. Error:java: 无效的目标发行版: 11解决方案
  8. html中输出PHP的下拉列表,html中关于下拉列表select的图文代码详解
  9. BZOJ1066: [SCOI2007]蜥蜴
  10. rest-framework框架的基本组件
  11. 基于android的电影院订票影院售票系统app
  12. JavaScript实现简单计算器
  13. 王曙燕c语言答案,c语言程序设计王曙燕课后题答案
  14. python svm核函数_Python.SVM(三)核方法
  15. 计算机网络 8 报文交换和分组交换2
  16. Unity Container 应用示例
  17. 银河麒麟kylin_V10系统安装mysql-8.0.31
  18. ERROR: failed to establish dependency between database sgerp5 and diskgroup resource ora.DATA.dg
  19. stm32定时器配置与时间计算公式
  20. canvas轨迹运动, 利用向量实现点匀速运动

热门文章

  1. c语言 入字符要中文状态吗,常见的HTTP状态码深入理解
  2. 【POJ3335】Rotating Scoreboard(多边形的内核-----半平面交+特殊情况)
  3. MATLAB--卡尔曼滤波
  4. 手机安装python模块吗_1-Python-非root用户安装Python及Python模块
  5. 图像频域增强:傅里叶变换
  6. 算法: 用队列Queue实现栈Stack
  7. paddle serving
  8. ppocr 源码阅读:ppocr.modeling.architecures 之build_model模块
  9. 多元线性回归实现代码
  10. Python sys.argv[]详解