




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章类和对象,吴卿,目录,抽象与封装类和对象的定义对象与基本数据类型变量的区别静态变量和静态方法数据成员的初始化包访问权限控制作用域关键字this,抽象与封装,类对象的抽象、模板;对象是类的实例Java中除了基本数据类型,一起都是对象抽象数据抽象、行为抽象类数据和操作的封装体,实现了数据隐藏。在Java中,类是一种引用数据类型,描述了该类对象的状态和行为例4-2,基本与引用数据类型,基本数据类型变量值引用数据类型变量地址类名对象名(只是创建名字,一个地址)new类名(.)在堆中创建对象,Catcat=newCat();cat.age=2;cat.weight=5;cat.meow();,对象与基本数据类型变量的区别,对象的运算=!=+=P73例子把对象传递给方法形参、实参传引用Java值传递,Catc1=newCat();Catc2=newCat();c2=c1,静态变量,对类成员的访问,一般要通过对象。之前学习的程序,没有创建对象,直接访问了main?static变量、方法(类的静态变量类变量,唯一的存储空间)静态成员属于类及其创建的对象(唯一性)实例成员只属于具体的对象(多样性)静态变量的声明及访问P.76,静态方法,实例方法静态方法没有this引用(this引用当前创建的对象)例P.77,数据成员的初始化,变量声明在方法体内,为局部变量局部变量没有默认值,必须初始化(赋值)后使用。P.78P.78,4.5对比类中的数据成员,Java可以自行初始化。P.78例4-7P.80,变量声明顺序注意一般应在前面已有定义静态变量例外(可以延后),构造方法,构造函数、构造器初始化类的对象特殊的方法名字与类名相同没有返回值,也不能是void(啥都没有;有就不是)可以无参、可以有参数、参数类型和个数可以不同构造方法重载(在同一个类中出现的同名方法)P.814-9,类中静态变量初始化,静态变量属于类一个静态变量只存在一个地方,唯一性。静态变量的声明只在第一次使用其所属类时执行。如何对类中静态变量初始化?一般不允许在构造方法中执行。Why?初始化顺序-静态变量(onlyonce)、实例变量、构造函数P4-11,静态初始化块,类中静态变量在申明时便指定初始值,保证只被初始化一次。C#,允许定义静态构造方法,第一次使用该类时使用。Java不允许。Java使用“静态初始化块”static+体,在类中,不能在任何方法中。例:4-12静态初始化块,静态变量初始化语句,二者按照在类中定义的顺序执行。,实例初始化块,,前面无static一般不使用。在构造函数中初始化类的实例变量。一般初始化块应放在全部数据成员声明后面。(在构造方法前执行)例:P85(创建对象的ID自动增加?)例子:4-13顺序:静态、实例.层层往下,再返回,包,当源代码文件1?,定义有重名产生了冲突怎么办?引用包相关类组织在一起package语法:package包名;每个源文件只有一个类为public,可以被包内外访问。一个源文件经编译后,可以有多个.class文件,与源文件中class的个数相同,名称相同。同一个包中的类文件放在同一个目录下。包名与目录结构一一对应。,有包情况下编译、运行,packagemyPackage;publicclassDog.设当前路径:C:testjavacdc:testDog.java在”c:test”后自动创建myPackage目录,编译后的Dog.class置于其中c:testjavamyPackage.Dog(整体性),包的命名,解决冲突、唯一性和什么相似?域名例如:域名包名:.hdu.mypackage对应目录:路径cneduhdumypackage使用包中的类mypackage.Dogdog=newmypackage.Dog();importmypackage.Dog;,Jar文件,对包中的类打包例如:jarcvfanimal.jarmypackage如何使用?javaccpanimal.jarTestPackage.javajavacp.;animal.jarTestPackage,访问权限控制,public公有,(包外、包内,类内部),修饰类、成员变量和方法protected保护,(包外子类、包内、类内部),不能修饰顶层类super和thisdefault【无修饰符】包访问权限,默认,(包内、类内部)private-私有,(类内部),私有private,在编写类时,我们一般将成员变量声明为private,操作变量的方法声明为public?保护成员变量,对外界隐藏。公有和私有?公有变量的局限私有变量的优点读取、修改控制变量合法性检测(在服务端)升级控制(改变变量名称、方法的控制逻辑),作用域,标识符在代码中可以使用的范围类成员的作用域是整个类顺序不定一般建议:静态变量、实例变量、静态初始化块、实例初始化块、构造方法、普通方法局部变量的作用域是从它的声明开始到包含它的代码块结束Java不允许在嵌套块中声明同名变量P100,对象的存在时间与垃圾回收,局部变量栈对象堆对象引用计数JVM垃圾回收机制,this关键字,this对象自己属于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷链物流安全风险评估与防控方案
- 不锈钢 毕业论文
- 思政系毕业论文
- 2025年医院一对一廉洁谈话记录范文
- 2025年度时尚服装品牌加盟合作协议
- 2024年院感理论考试(附答案)
- 2024年全国交管12123学法减分考试题库附含答案
- 让学校教学研究接地气的几点思考
- 大理石质量追溯管理方案
- 本科毕业论文怎么引用
- 胸腹主动脉夹层的护理查房
- 高等教育新论要点整理
- 英语语法填空基础训练40篇(附答案)
- 教师个人简历表格
- 初中作业设计培训课件
- 科研实验数据保密与安全
- 直播间场景搭建课程设计
- 文松宋晓峰小品《非诚不找》奇葩男女来相亲金句不断台词剧本完整版
- 高等院校毕业生转正定级审批表-6
- 《影视艺术概论》课件
- 贾宁财务讲义:人人都需要的财务思维
评论
0/150
提交评论