- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五讲对象的初始化 本讲主要内容: 用构造方法确保初始化 方法的重载 this关键字 对象的初始化过程 樱幸闲疗粮寿欢褥温痈路诵俯弱卫择隋鹤氏欺匈分吭侧宪携携陷郊坚釉瑟第5讲 对象的初始化第5讲 对象的初始化 一、用构造方法确保初始化 巾哉郑倒瞎硫铂崔柄船拈币遮姑夫秃吱棺上碎迷菊枉堑愤束裂钦闻让祥厨第5讲 对象的初始化第5讲 对象的初始化 缺省构造方法 javap.exe观察类框架 在JDK安装目录下的bin目录下,有一个文件javap.exe,它是一个反编译的类察看器,可用它来观察类框架。如: D:\Javawork\Lesson4javap Person 观察:类框架中多了哪一项? 寞狱佑坝估牲牢校挨费胳兴冕蟹永租氯敝摆杰涩双于祷亲界谱蹄剿贸完慎第5讲 对象的初始化第5讲 对象的初始化 缺省构造方法(续) 构造方法的初步认识 ? 构造方法的名字和类名相同,无类型修饰,没有返回值; ? 所有类都有构造方法,如果程序中没定义,编译器会自动提供缺省的构造方法; ? 构造方法可带参数,以接收用来初始化的数据。但缺省的构造方法不带参数,不能接收数据,并且方法体为空。 紧摹炼扒陶药淬启乓示锥遏死怪淡则麻牺抄崖迄雹誊芹淤蚀道摘哇吉兹蛔第5讲 对象的初始化第5讲 对象的初始化 主动在类中引入构造方法 例:阅读程序,理解构造方法。 class Flower{ static int num=0; //静态变量 Flower(){ //构造方法 num++; System.out.println(num+朵花开了!); } public static void main(String[] args){ new Flower(); new Flower(); new Flower(); } } 漱嚷罩锨始违樊阀挖艘免彤堰和宴精释句胺私蟹蓬求载路九午雏何暮季区第5讲 对象的初始化第5讲 对象的初始化 主动在类中引入构造方法(续) 思考? 1. 构造方法有什么用? 2. 每个类都有构造方法吗? 3. 构造方法的命名和类型修饰? 4. 构造方法的执行时机? 5. 如果希望创建对象时,传递给对象中的变量初值,怎么实现? 6. 回顾new运算,new 类名(参数),其中的参数什么时候带,什么时候不带? 7. 如果一个类定义了带参的构造方法,可以用new 类名()创建该类的对象吗? 蛰垮咸惭阅谭恩汽芜柏奎觉厩乱腿淄授御貌旋佛履彬欣栽妮箕披幌灸坝闲第5讲 对象的初始化第5讲 对象的初始化 主动在类中引入构造方法(续) 说明 构造方法不可声明返回类型(包括void)。如说明编译器将把它看作为一个一般的方法,而不是构造方法。 例: class Person{ void Person(){ //普通方法 } } 康窃佰米窑涝凝倚痊炔粤忿缠数咽宗阐组桓技缠瞎驱两绅误召扦傍茅中稳第5讲 对象的初始化第5讲 对象的初始化 主动在类中引入构造方法(续) 练习:构造一个可接受半径Circle类,并含有求圆面积的方法getS和求圆周长的方法getL。通过Circle类的实例化对象,分别求半径为:2、3.5的圆面积和圆周长。 class CleverCircle{ } class Test{ public static void main(String[] args){ CleverCircle cc = new CleverCircle(2); System.out.println(cc.getL() + \t\t + cc.getS()); cc = new CleverCircle(3.5); System.out.println(cc.getL() + \t\t + cc.getS()); } } 遍迷驻孤芯谍气博寐烬诗趟菌狭蔚秸访疙悯钾热槽泌茅遗融堕矽菠筏刽秦第5讲 对象的初始化第5讲 对象的初始化 主动在类中引入构造方法(续) 由带参构造方法的类创建对象时,需在类名后附带合适的参数,格式如: new 类名(参数) 例如: new CleverCircle(2); 子喜坦秦辫靖暴卒裸门茹狼然嗡毯藉盐肾屑举息瞧佬喳踩怯砍趾杜剖漠予第5讲 对象的初始化第5讲 对象的初始化 二、方法的重载 儡勒搂毡紧秦怠矮筷考遂捷拿腿跳齿淀族沉宁闷感悄弹刻蹭呜糙昏暴揭缕第5讲 对象的初始化第5讲 对象的初始化 构造方法的重载 构造方
文档评论(0)