- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
this 关键字 this ? 对象自己 属于对象的成员引用 this() this(…,…) [注意:里面的参数不能是实例成员] P.102, 103 105 例子 4-19 P.103 4-20 类库中的类 类 接口 枚举 API Source目录 Math 类,静态数据成员、方法 习题 P110-114 第四章 类和对象 吴卿 目录 抽象与封装 类和对象的定义 对象与基本数据类型变量的区别 静态变量和静态方法 数据成员的初始化 包 访问权限控制 作用域 关键字this 抽象与封装 类——对象的抽象、模板;对象是类的实例 Java中除了基本数据类型,一起都是对象 抽象——数据抽象、行为抽象 类——数据和操作的封装体,实现了数据隐藏。 在Java中,类是一种引用数据类型,描述了该类对象的状态和行为 例4-2 基本与引用数据类型 基本数据类型 变量?值 引用数据类型 变量?地址 类名 对象名 (只是创建名字,一个地址) new 类名(….) ?在堆中创建对象 Cat cat = new Cat(); cat.age = 2; cat.weight=5; cat.meow(); 对象与基本数据类型变量的区别 对象的运算 = == != + += P73 例子 把对象传递给方法 形参、实参 传引用 Java——值传递 Cat c1 = new Cat(); Cat c2 = new Cat(); c2 = c1 静态变量 对类成员的访问,一般要通过对象。 之前学习的程序,没有创建对象,直接访问了main? static 变量、方法 (类的静态变量—类变量,唯一的存储空间) 静态成员属于类及其创建的对象(唯一性) 实例成员只属于具体的对象(多样性) 静态变量的声明及访问 P.76 静态方法 实例方法 静态方法 没有this引用(this引用当前创建的对象) 例P.77 数据成员的初始化 变量声明在方法体内,为局部变量 局部变量没有默认值,必须初始化(赋值)后使用。P.78 P.78, 4.5 对比? 类中的数据成员,Java可以自行初始化。P.78 例4-7 P.80 ,变量声明顺序注意 一般应在前面已有定义 静态变量例外(可以延后) 构造方法 构造函数、构造器?初始化类的对象 特殊的方法 名字与类名相同 没有返回值,也不能是void (啥都没有?;有就不是) 可以无参、可以有参数、参数类型和个数可以不同?构造方法重载(在同一个类中出现的同名方法)P.81 4-9 类中静态变量初始化 静态变量属于类 一个静态变量只存在一个地方,唯一性。 静态变量的声明只在第一次使用其所属类时执行。 如何对类中静态变量初始化?? 一般不允许在构造方法中执行。Why? 初始化顺序-[静态变量(only once)、实例变量、构造函数] P4-11 静态初始化块 类中静态变量在申明时便指定初始值,保证只被初始化一次。 C#,允许定义静态构造方法,第一次使用该类时使用。Java不允许。 Java使用“静态初始化块”?static +{}体,在类中,不能在任何方法中。 例:4-12 静态初始化块,静态变量初始化语句,二者按照在类中定义的顺序执行。 实例初始化块 {},前面无static 一般不使用。在构造函数中初始化类的实例变量。 一般初始化块应放在全部数据成员声明后面。(在构造方法前执行) 例:P85 (创建对象的ID自动增加?) 例子:4-13 顺序:静态、实例…. 层层往下,再返回 包 当源代码文件1 ???,定义有重名产生了冲突怎么办? 引用包?相关类组织在一起 package 语法:package 包名; 每个源文件只有一个类为public,可以被包内外访问。 一个源文件经编译后,可以有多个.class文件,与源文件中class的个数相同,名称相同。 同一个包中的类文件放在同一个目录下。包名与目录结构一一对应。 有包情况下编译、运行 package myPackage; public class Dog{ ….} 设当前路径:C:\test javac –d c:\test Dog.java 在”c:\test”后自动创建myPackage目录,编译后的Dog.class置于其中 c:\test java myPackage.Dog (整体性) 包的命名 解决冲突、唯一性 和什么相似??域名 例如:域名 hdu.edu.cn 包名:cn.edu.hdu.mypackage 对应目录:路径\cn\edu\hdu\mypackage 使用包中的类 mypackage.Dog dog = new mypackage.Dog(); import mypackage.Dog; Jar文件 对包中的类打包 例如:ja
您可能关注的文档
最近下载
- “产业襄阳”发展战略规划.doc VIP
- 2013款东风雪铁龙C5_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 运动营养学(第三版)课件全套 第1--10章 运动营养学基础、 健身运动的合理膳食营养---运动.pptx
- 《门诊院感》课件.pptx VIP
- 2024-2025学年上海市奉贤区高三上学期高考一模物理试卷含详解.docx
- DB45_T618-2009:建筑施工模板及作业平台钢管支架构造安全技术规范.pdf VIP
- 2023年河北省衡水中学自主招生数学模拟试卷及答案解析.pdf
- 2024驾校学员管理制度 .pdf VIP
- 2024年四川省中考语文试卷十六套合卷含答案.pptx VIP
- 程家惠《洋话汉音》(升级版).doc
文档评论(0)