ava类与对象二.ppt_第1页
ava类与对象二.ppt_第2页
ava类与对象二.ppt_第3页
ava类与对象二.ppt_第4页
ava类与对象二.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章类与对象 二 回顾 面向对象 oop 的编程思想类 对象类和对象的关系对象的操作构造方法构造方法的重载 本章内容 静态变量静态方法静态代码块常量包 本章目标 理解静态方法熟练掌握静态变量熟练掌握常量的使用理解包的概念和使用 1 静态变量 静态方法与静态代码块 静态变量 Monkey类 0个对象 1个对象 2个对象 3个对象 编写一个猴子类 Monkey 要求在此类中存在一个变量用于统计此类被实例化了多少个对象 1 1静态变量 什么是静态变量静态变量是指被static修饰的变量静态变量属于某个类 被所有实例共享可以通过类名访问或者通过实例名访问 静态变量 static类型变量名 使用静态变量 classMonkey 声明静态变量staticintcount 0 classTest publicstaticvoidmain String args for inti 0 i 3 i Monkeym newMonkey m count m count 1 通过类名访问静态变量System out println Monkey count 静态变量 静态变量与非静态变量的区别 classSaticVar 实例变量inta 1 静态变量staticintb 1 classTest publicstaticvoidmain String args StaticVars1 newStaticVar s1 a s1 b System out println 实例变量a s1 a System out println 静态变量b StaticVar b StaticVars2 newStaticVar s2 a s2 b System out println 实例变量a s2 a System out println 静态变量b s2 b 1 2静态方法 静态方法 被static修饰的方法称为静态方法或类方法 static 修饰符 返回值类型方法名 类型参数1 类型参数2 方法体 静态方法 静态方法可以直接通过类名访问 classMonkey 静态方法staticvoidplay System out println 会玩金箍棒 classTest publicstaticvoidmain String args 示例化10个对象for inti 1 i 10 i Monkeyhouge newMonkey 通过类名调用静态方法Monkey play 静态方法 classMonkey intage 10 实例变量agestaticintpeach 10 staticvoidplay 访问实例变量System out println 实例变量age age 访问静态变量System out println 实例变量peach peach 静态方法只能访问静态变量 不能访问实例变量 静态方法方法内访问实例变量age 1 3静态代码块 静态代码块不存在于任何方法体中 classStaticBlock static System out println 我是静态代码块 静态代码块只会被执行一次 它在Java虚拟机加载类时执行 静态代码块 静态代码块 类中不同部分执行顺序 classOrder inta 1 staticintb 1 System out println 实例变量a a System out println 代码块执行 static System out println 静态变量b b System out println 静态代码块执行 Order System out println 构造方法执行 静态变量 代码块 静态代码块 构造方法 静态代码块 classTest publicstaticvoidmain String args Orderorder newOrder 静态变量初始化 静态代码块 初始化静态方法 初始化实例变量 代码块 构造方法 初始化顺序 1 4变量的生命周期 Java中有3种变量 分别为类变量 实例变量和某个方法中临时定义的局部变量 不同的变量的生命周期不同 classCycle intvar1 1 staticintvar2 2 publicintadd intvar3 var1 var2 returnvar3 classTest publicstaticvoidmain String args Cyclec newCycle c add 实例变量 静态变量 局部变量 classFinalVar finalintMAX VALUE 20 finalintMIN VALUE MAX VALUE 30 staticfinaldoublePI 3 1415926 PI 3 1415 2 final变量 正确 定义时候必须初始化 不能重复赋值 正确 静态实例变量不能重复赋值 final修饰的实例变量的值不能改变 这就意味着在实例化具有final变量的多个对象时 每个对象都会有相同的final变量值 这种实例变量反而使用静态变量会更符合设计规则 因此经常将final变量同时定义成为静态的 staticfinal final变量 使用final修饰的变量表示取值不会改变的常量 final类型变量名 值如 finaldoublePI 3 1415926 Final变量的特征final修饰符可以修饰静态变量 实例变量和局部变量 分别表示静态常量 实例常量和局部常量final类型的变量必须显式地初始化 否则将导致编译错误final变量只能被赋值一次在定义final常量时 一般以大写字母命名 且多个单词之间以 符号隔开 3 包 什么是包 在操作系统中能够这样创建文件吗 同一目录下不能创建相同名称的文件 怎么解决此类问题呢 3 1包的概念 在Java中 经常需要同名的java文件去处理业务逻辑 那么也需要创建不同的目录去保存文件 在Java中的包就对应目录结构 如目录结构为 D Test 那么对应的包为 D test 各层次之间用 分隔开 Java中的包 3 2Java的常用包 JDK提供的Java常用包java lang包java io包java util包 系统类 System 整数类 Integer 和字符串类 String 等 文件输入流类 FileInputStream类 文件输出流类 FileOutputStream 等 提供日期类 Date 集合类 Collection 等实用类 3 3自定义包 自定义包 package包名 子包名 包的名称通常采用小写 一般包名中应该包含以下信息类的创建者或拥有者的信息类所属的软件项目的信息类在具体软件项目中所处的位置包可以有多层结构 各层之间以 来分隔 自定义包 用JCreator创建项目和包 自定义包 包对应的文档目录 3 4包的引入 如果一个类访问了来自另一个包 除java lang 中的类 则首先必须通过import语句引入该类 packagecom mstanford edu test importcom mstanford edu server Teacher classTest publicstaticvoidmain String args Teacherteacher newTeacher teacher print 必须要引入 否则程序出错 在一个Java源文件中 只允许有一个package语句 而且必须位于源文件的第一句 包的引入 使用 引入某个包中所有的类 com mstanford edu server包 packagecom mstanford edu server publicclassStudent intage publicvoidprint System out println 我是学生 packagecom mstanford edu server publicclassTeacher intage publicvoidprint System out println 我是老师 包的引入 com mstanford edu test包 packagecom mstanford edu test importcom mstanford edu server classTest

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论