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

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

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

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

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

例如:

public class Student {

//学号

private int id;

//姓名

private String name;

//年龄

private int age;

//性别

private String sex;

//查看学号

public int getID(){

return id;

}

//修改学号

public void setID(int id){

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方法中加些判断限制,大大的减少了垃圾信息。

java 封装的概念_java封装的概念相关推荐

  1. Java自己封装mysql框架_java封装

    jar,war,ear区别及java基础杂七八 jar,war,earqu区别 这三种文件都可以看作是java的压缩格式,其实质是实现了不同的封装: jar--封装类war--封装web站点ear-- ...

  2. java如何进行数据封装_JAVA——封装

    一.封装的作用 1.外界不希望能够直接访问我的数据. 2.希望外界传递给类的内部的数据能够得到数据校验,不得任其随意修改. 二.封装的概念 对数据进行访问权限控制,主要依赖的就是访问权限修饰符. 访问 ...

  3. java线程池概念_Java 线程池概念、原理、简单实现

    线程池的思想概述 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结東了,这样频繁创建线程就会大大降低系 ...

  4. java 封装 继承 堕胎_JAVA封装、继承、多态

    封装 1.概念: 将类的某些信息隐藏在类的内部,不允许外部程序访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: a.只能通过规定的方法访问数据 b.隐藏类的实例细节,方便修改和实 ...

  5. java的程序概念_Java程序基本概念

    大家好,在这里跟大家讲解一下关于Java程序的基本概念应用. 以下本人的介绍包括有以下的几点: 一.标识符的定义 二.数据类型的划分 三.运算符的应用 四.分支结构.循环结构.循环控制语法的应用 五. ...

  6. java封装 继承 多态_Java 封装、继承、多态

    Java 封装.继承.多态 1.封装: 封装的理解: 将类的某些信息隐藏在类的内部,不允许外部程序直接访问,并通过该类提供的方法来实现对隐藏信息的操作和访问.(简单的说就是隐藏对象的信息,留出访问的接 ...

  7. java包装类是什么_java包装类的概念是什么?包括哪些?

    在时代的不断变迁与发展之中.越来越多的新技术涌现了出来.今天就为大家介绍一下java的包装类是什么意思,以及它包括哪些内容. 首先,由于java中的数据类型int,double等不是对象,所以无法通过 ...

  8. java中ajax概念_Java之AJAX概念和实现方式

    Java之AJAX概念和实现方式 开发工具与关键技术:MyEclipse 10,java 作者:刘东标 撰写时间:2019-06-12 1.概念: Asynchronous JavaScript An ...

  9. java 协议这个概念_java网络协议概念是什么?

    网络协议 对于需要从事网络编程的程序员来说,网络协议是一个需要深刻理解的概念.那么什么是网络协议呢? 网络协议是指对于网络中传输的数据格式的规定.对于网络编程初学者来说,没有必要深入了解TCP/IP协 ...

最新文章

  1. json对象与字符串互转方法
  2. python从入门到精通学习笔记_Python从入门到精通之基础概念
  3. 网络:长连接、短连接
  4. 如何安装指定版本的 SAP Spartacus
  5. MongoDB最简单的入门教程之五-通过Restful API访问MongoDB
  6. mnist手写数字识别python_基于tensorflow的MNIST手写数字识别(二)--入门篇
  7. Xamarin Android Webview中JS调用App中的C#方法
  8. 摸清Linux日志处理的来龙去脉
  9. c语言小游戏百度云资源,c语言小游戏合集
  10. python连接服务器informix_Python 用odbc连接Informix数据库 64位
  11. Scintilla教程(1): 入门介绍
  12. 针对唯一化实例对话框程序,及其命令行操作方法
  13. SpringCloud Alibaba微服务实战一 基础环境准备
  14. 我用python做了个测词汇量的小工具
  15. XML文件内容格式化与语法错误自动检查
  16. ArcGIS与插值(一): 统计与地统计
  17. 【朝花夕拾】Android编码风格篇
  18. Android elevation使用
  19. 请出中本聪,迎接新世界(6-10)
  20. AI:2023年6月9日北京智源大会演讲分享之基础模型前沿技术论坛—《工程化打造AI中的CPU》、《构建一个AI系统:在LLM上应用带有RLHF来推进定制》、《多模态预训练的进展回顾与展望》、《扩展大

热门文章

  1. 后端接口都测试什么?怎么测?
  2. RabbitMQ 如何保证消息的可靠性
  3. Java基础-HashMap集合
  4. Spring框架----通用切入点表达式
  5. springboot整合dubbo\zookeeper做注册中心
  6. C#操作SQLite数据库
  7. NSTimer、CADisplayLink、GCD 三种定时器的用法 —— 昉
  8. Android中那些有你不知道的事
  9. 多表关联更新,UPDATE FROM用法
  10. 一个boost底下的线程池