一.JAVA封装


1.封装的理解

封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术

2.封装的原则

将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息调用和访问,使用对应的 get 和  set 方法。

3.封装的优点

    隐藏信息,有利于数据安全性

    举个例子,我们日常生活中的插座,如果没有封装外壳直接使用零线火线的话会比较危险,加上外壳封装之后使用起来既方便又安全

    调压着只需调用,无需了解实现过程

4.通过private 关键词声明使用

    //案例

  public class  Student{

   String name;//姓名

   int age;//年龄

}


上面定义了一个Student类,下面写一个Student01类进行测试


  public class Student01{

  public static void main(String[] args){

  //创建Student类型的对象

   Student s = new Student();

   System.out.println(s.age);//这里输出结果为0,因为没有设置值

   

    p.age = -10;//这个地方的数据不合理, 因为年龄都是整数,负数年龄怎么可能出来丫~

}

}


上面的Student01中人的年龄出现了-10,这显然是一个不合法的数据,所以应该将Student类中的age隐藏起来,不能让外界直接访问,需要使用private修饰符将age进行封装。


class Student{

  private String name;

   private int age;

}

  //添加了private修饰之后,外界无法直接访问age了

  //这时候需要提供两个办法供外界访问即set方法和get发放

  //对外提供两个公开的方法

  //set 赋值

  public void setAge(int agea){

  //安全控制

  if(agea<0 ||  agea>120){

  System.out.println("年龄不合法");

  return;  //返回值

}

   age = agea;//这里把agea赋值给age

}

  //get 读取\获取

public int getAge(){

   return age;

}

public void setName(String namea){

  name = namea;

}

public String getName(){

  return name;

}

}


//创建测试类

  public class Student02{

  public static void main(String[] args){

  //创建Student类型对象

  Student s = new Student();

  s.setName("小董");

  s.setAge(23);

  System.out.println("大家好,我叫"+s.setName);

  System.out.prinln("我今年的年龄"+s.set.Age+"岁");

}

}

输出结果为

大家好,我叫小董

我今年的年龄23岁

JAVA面向对象:三大特征 封装讲解的更多相关文章

  1. 封装继承多态-java面向对象三大特征

    第七章  封装和继承 一.面向对象的三大特征 封装.继承.多态 二.封装 将类的属性(字段)设置为私有的(private),并添加getter/setter方法操作属性. 注意:get|set方法的固 ...

  2. JAVA的三大特征 封装继承多态- 简单总结

    简单总结一下 封装-即从很多类的抽取相同的代码 写在一个类里. 好处是 代码的重用,安全. 继承-减少代码的书写. 其好处也是 代码的重用. 多态- 把不同的子类对象都当作父类来看,可以屏蔽不同子类对 ...

  3. 深入理解Java面向对象三大特性 封装 继承 多态

    1.封装 封装的定义: 首先是抽象,把事物抽象成一个类,其次才是封装,将事物拥有的属性和动作隐藏起来,只保留特定的方法与外界联系 为什么需要封装: 封装符合面向对象设计原则的第一条:单一性原则,一个类 ...

  4. 【JavaSE】面向对象三大特征——封装、继承、多态

    前言:本文主要介绍思想 封装 封装这一概念并不仅存在与面向对象中,甚至说封装这一概念不仅限于编程中,其实生活中的封装无处不在.比如 需求:你到银行取钱 参数:你只需要提供银行卡和密码 返回值:柜员会将 ...

  5. 简述Java面向对象三大特征:封装、继承、多态

    封装: 把对象的全部属性和服务结合在一起,形成不可分割的独立单位: 尽可能隐藏内部细节.(数据隐藏.隐藏具体实现的细节)     public.private.protected.default pu ...

  6. Java面向对象三大特征

    封装: 首先,属性可用来描述同一类事物的特征, 行为可描述一类事物可做的操作,封装就是要把属于同一类事物的共性(包括属性与行为)归到一个类中,以方便使用.比如人这个东东,可用下面的方式封装:人{ 年龄 ...

  7. JAVA 面向对象 三大特征:继承

    什么是继承 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 多个类可以称为子类,单独这个类称为父类.超类或者基类. 子类可以直接访 ...

  8. Java 面向对象三大特征之一: 多态

    多态与类型转换 子类重写父类方法 1)位置:子类和父类中有同名的方法 2)方法名相同,返回类型和修饰符相同,参数列表相同       方法体不同 多态的优势和应用场合 多态:同一个引用类型,使用不同的 ...

  9. Java学习:面向对象三大特征:封装、继承、多态之封装性

    面向对象三大特征:封装.继承.多态. 封装性在Java当中的体现: 方法就是一种封装 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对于外界不可见. 问题描述:定义Person的年 ...

随机推荐

  1. 基于NACOS和JAVA反射机制动态更新JAVA静态常量非@Value注解

    1.前言 项目中都会使用常量类文件, 这些值如果需要变动需要重新提交代码,或者基于@Value注解实现动态刷新, 如果常量太多也是很麻烦; 那么 能不能有更加简便的实现方式呢? 本文讲述的方式是, 一 ...

  2. GeckoDriver+Selenium+Python的安装和使用

    如果没有安装GeckoDriver会提示: selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executab ...

  3. Java前端面试题总结

    Java前端面试题总结 简单说一下HTML,CSS,javaScript在网页开发中的定位? HTML:超文本标记语言,定义网页的结构 CSS:层叠样式表,用来美化页面 JavaScript:主要用来 ...

  4. js清除所有的空格

    /** * 清除所有的空格 * @returns {*} */ String.prototype.removeSpace = function () { var str = this.replaceA ...

  5. ElasticSearch解决深度分页性能存在的问题使用scoll来解决

    现在我们全局搜索全部的数据,每次返回3条, 从 scroll 请求返回的结果反映了 search 发生时刻的索引状态,就像一个快照.后续的对文档的改动(索引.更新或者删除)都只会影响后面的搜索请求. ...

  6. cf # 420 div.2

    说说题吧前两道暴力 a直接枚举每个位置然后枚举所在行和列 b直接枚举所有的x的banana 的数量.计算方式等差数列求和小学生难度.记得long long.int转longlong c记下remove ...

  7. Ubuntu16.04CPU下安装caffe的艰苦历程

    我选用的是anaconda安装,符上我参照的三个有用的教程. 1 http://www.linuxdiyf.com/linux/22442.html 主要讲anaconda的安装和python路径配置 ...

  8. TreeMap实现

  9. 理解与使用Javascript中的回调函数 -2

    在javascript中回调函数非常重要,它们几乎无处不在.像其他更加传统的编程语言都有回调函数概念,但是非常奇怪的是,完完整整谈论回调函数的在线教程比较少,倒是有一堆关于call()和apply() ...

  10. 在Ubuntu 16.04上编译OpenJDK8的源代码

    本文将详细介绍在Ubuntu16.04上对OpenJDK8进行编译. 1.准备编译环境 使用的操作系统为Ubuntu16.04,如果读者没有安装Ubuntu,可以在Windows上使用虚拟机的方式进行 ...