第一章 面向对象的三大基石之一 封装 课程地位 课程介绍 学完本门课程,你能够 掌握面向对象的三大特性:封装、继承、多态 掌握面向接口编程 掌握Java异常处理 学会用面向对象思想来编写程序 相关课程回顾 什么是类? 什么是对象? 类和对象的区别和联系? 本章案例 用封装来拯救小新同学的人品 用构造方法来拯救小新同学的性别 重载构造方法 本章目标 掌握使用封装的方式编写类 掌握为类添加私有属性 掌握方法重载 掌握编写类的构造方法,构造方法重载 预习检查 使用封装有什么好处? 构造方法和实例方法的区别? 构造方法如何重载? 用封装来拯救小新同学的人品 用封装来拯救小新同学的人品 看看是谁恶搞了小新的人品吧。首先我们创建一个学员类,代表学员。小新是学员类的一个对象。 用封装来拯救小新同学的人品 仁兄代码: 用封装来拯救小新同学的人品 可以看出,小新的人品被恶搞了,怎么回事呢? 细心的同学能够看出来,学员类的两个属性都是公有的,可以被随意访问,我们无法控制这些属性的值,这就导致了以上的问题,那么如何解决呢? 这个时候我们就需要用到封装,因为它很好的解决了这个问题。 该看的看,不该看的别看 封装(Encapsulation)就是把不想或者不该告诉别人的东西隐藏起来,把可以告诉别人的公开(隐藏对象的属性和方法的实现细节,只公开对外接口) 具体做法就是把属性私有化,提供公有的方法访问这些属性,在这些公有方法中实现对属性的控制。如下所示 该看的看,不该看的别看 该看的看,不该看的别看 仁兄代码: 封装提供了4种访问控制级别 访问修饰符有以下4个: public 公共的,最高的访问级别,类的public成员所有类的成员都可以访问。 protected 受保护的,类的protected成员只能被该类的成员以及其子类成员访问。还可以被同一个包中其他类的成员访问。 private 私有的,不对外公开,类的private成员只能被该类的成员访问,访问级别最低。 默认,类的成员什么修饰符都没有,又叫包修饰符,只有类本身成员和当前包下类的成员可以访问。 课堂练习 参照教材,改写学员类,增加年龄属性,实现对年龄属性的封装,年龄要求必须大于18周岁。写测试类测试。 小结 封装的具体实现步骤? 修改属性的可见性来限制对属性的访问。 为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。 在赋值和取值方法中,加入对属性的存取限制。 方法重载在现实生活中随处可见 方法重载在现实生活中随处可见 通过上图我们可以分析得到: 学员被抽象为一个类 。 学员有3个方法,方法名称都是喂养 。 这3个方法的参数各不相同,分别是鹦鹉、猫、狗 。 这3个方法的实现各不相同 。 我们接触过的方法重载 注意上面代码中的println方法,一共有10个,但是方法参数类型各不相同,能够实现不同数据类型数据的控制台打印并换行。再看两个我们学过的方法: 我们接触过的方法重载 上面代码中Math类的两个静态方法max、min,可以传入不同数据类型的两个参数进行取最大值和最小值的操作。 为什么用构造方法 看看谁又恶搞了小新的性别吧。首先我们创建一个学员类,代表学员。小新是学员类的一个对象。 为什么用构造方法 为什么用构造方法 仁兄代码: 为什么用构造方法 可以看出,小新的性别没有了,怎么回事呢? 细心的同学能够看出来,小新的性别属性没有被初始化,这就导致了以上的问题,原因是学员类Student3中的属性太多,调用赋值方法初始化小新同学的属性时很容易遗漏。 那么如何解决呢?这个时候我们就需要用到构造方法,因为它很好的解决了因为属性过多而遗漏初始化的问题。 什么是构造方法 构造方法(constructor)是用来实例化一个类的对象的,我们在实例化类的对象时调用的就是这个类的构造方法,构造方法有如下特点: 构造方法是一个特殊的方法。Java中的每个类都有构造方法,用来初始化该类的一个对象。 构造方法名和类名相同,没有返回类型。 构造方法可以重载。 构造方法只能由new关键字和this()调用,this()只能在构造方法中使用,用来调用其它构造方法,且只能作为构造方法代码体的第一条语句。 什么是构造方法 下面我们看一个小新同学写的构造方法的实例 : 什么是构造方法 下面测试类中使用new关键字实例化对象的过程实际就是调用构造方法的过程,如示例所示: 什么是构造方法 在实例化对象时,我们已经悄然无声的对实例变量进行了初始化,实例变量都被赋予了默认值; 但是大多数情况下我们希望实例变量的值不是默认值,也就是学员的名字不能都叫做小新,那么这个时候我们就需要使用带参数的构造方法了。 使用带参数的构造方法拯救小新同学的性别 使用带参数的构造方法拯救小新同学的性别 下面测试类中调用

java 嵌入ppt_(精)java封装.ppt相关推荐

  1. java 课件ppt_《java语言入门》PPT课件.ppt

    <java语言入门>PPT课件.ppt Java 语言入门,第一章,目标,了解Java开发环境 JDK 掌握Java程序开发过程 能默写两个版本的"Hello World&quo ...

  2. java俄罗斯方块ppt_基于Java俄罗斯方块游戏设计与开发PPT.ppt

    基于Java俄罗斯方块游戏设计与开发PPT 基于Java的俄罗斯方块游戏的设计与实现 答 辩 人:xxx 学 号:201012120201 指导老师:xxx副教授 专 业:网络工程 学 院:信息科学与 ...

  3. java嵌入groovy脚本_Java封装groovy脚本引擎并支持脚本包含(include)功能

    上篇文章" package com.findsrc.common.script; import java.io.IOException; import java.io.InputStream ...

  4. java 嵌入ppt_Java 插入图片到PPT幻灯片

    import com.spire.presentation.*; import com.spire.presentation.drawing.FillFormatType; import java.a ...

  5. java简介 ppt 精,TP1java简介.ppt

    <TP1java简介.ppt>由会员分享,可在线阅读,更多相关<TP1java简介.ppt(53页珍藏版)>请在人人文库网上搜索. 1.第一章,Java 简介,2,课程地位,. ...

  6. java泛型 ppt_第7章-Java集合与泛型-精品课件(PPT)-精品课件(PPT)最新版

    <第7章 -Java集合与泛型-精品课件(PPT)-精品课件(PPT).ppt>由会员分享,可免费在线阅读全文,更多与<第7章 -Java集合与泛型-精品课件(PPT)-精品课件(P ...

  7. java 底层ppt_阿里P7大牛,深入剖析JVM底层设计原理+高级特性pdf,附46页ppt

    前言 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. 引入J ...

  8. java给图片、word、ppt、excel、pdf添加水印

    java给图片.word.ppt.excel.pdf添加水印 使用poi.itextpdf.imageio等技术 只支持高版本的office,即支持docx.pptx.xlsx 给word添加水印遇到 ...

  9. java 和 flash socket通信封装

    java我用了java.nio,没有用nettiy,mina等框架,因为这些框架让我看起来更难理解原理. 偶封装的只是用来玩滴,没有经过实际项目的磨练,还需要不断润色和加工的, 后续需要研究的:传输对 ...

最新文章

  1. 分析MAC*.a库文件信息
  2. postman关闭ssl验证_【第5期】springboot:苹果内购服务端验证
  3. ionic+AnjularJs实现省市县三级联动效果
  4. uva_1422 Processor
  5. 当自己颓废的时候怎么激励自己?
  6. mysql事务最大个数_事务、mysql数据库的默认最大连接数、分页
  7. 开课吧:数据分析的价值体现在哪些方面?
  8. 搭建gradle环境
  9. ArrayList 和 HaspMap 链式添加的实现
  10. 全国计算机vfp是什么,计算机二级VFP数据库简介
  11. 布线问题—分支限界—java实现
  12. 红外传感器型号和参数_红外传感器原理、分类、性能参数、应用及前景
  13. 用Spring Cloud和Docker搭建微服务平台
  14. PowerPC Figure – PPC入门与优化
  15. IT技术资料分享:win10系统如何阻止某个应用程序联网检测更新
  16. 2021新泰一中高考成绩查询,山东泰安赫赫有名的4所高中,成绩一目了然,第一名花落谁家?...
  17. 新员工培训记录(2010.08.06 )
  18. c语言输出名人名言大全,编程语言之父6大经典名言,C语言之父这一段代码你见过吗?...
  19. python的repr函数
  20. Linux 常见命令-文件和磁盘管理

热门文章

  1. hyperworks浮动软件收到厂商律师函、许可证不够用,如何解决?
  2. java fel表达式
  3. 用户定向拉新及拉新策略建议
  4. 三、oracle之DML语句
  5. swift 聊天表情emoji转译(二)——从转译文字到聊天列表
  6. 第二副业做什么好?普通上班族的第二职业干什么好?
  7. html 上中中下布局
  8. Http的请求方式有哪些
  9. 7种实用的分布式框架
  10. 开源书籍和网站free-programming books