版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
this关键字物流信息管理系统开发this关键字
在Java开发中,当成员变量与局部变量发生重名问题时,需要使用到this关键字分辨成员变量与局部变量,Java中的this关键字语法比较灵活,其主要作用主要有以下3种。(1)使用this关键字调用本类中的属性。(2)this关键字调用成员方法。(3)使用this关键字调用本类的构造方法。1使用this关键字调用本类中的属性1classStudent{2privateStringname;3privateintage;4//定义构造方法5publicStudent(Stringname,intage){6name=name;7age=age;8}9publicStringread(){10return"我是:"+name+",年龄:"+age;11}12}
在类的构造方法中,如果参数名称与类属性名称相同,则会导致成员变量和局部变量的名称冲突。1使用this关键字调用本类中的属性13publicclassExample09{14publicstaticvoidmain(String[]args){15Studentstu=newStudent("张三",18);16System.out.println(stu.read());17}18}1使用this关键字调用本类中的属性程序运行结果如下图。1使用this关键字调用本类中的属性
从运行结果可以看出,stu对象姓名为null,年龄为0,这表明构造方法中的赋值并没有成功。这是因为参数名称与对象成员变量名称相同,编译器无法确定哪个名称是当前对象的属性。为了解决这个问题,Java提供了关键字this指代当前对象,通过this可以访问当前对象的成员。1使用this关键字调用本类中的属性1classStudent{2privateStringname;3privateintage;4//定义构造方法5publicStudent(Stringname,intage){6=name;7this.age=age;8}使用this关键字指定当前对象属性。1使用this关键字调用本类中的属性9publicStringread(){10return"我是:"+name+",年龄:"+age;11}12}13publicclassExample10{14publicstaticvoidmain(String[]args){15Studentstu=newStudent("张三",18);16System.out.println(stu.read());17}18}1使用this关键字调用本类中的属性
在构造方法之中,使用this关键字明确标识出了类中的两个属性“”和“this.age”,所以在进行赋值操作时不会产生歧义。程序运行结果如下图。2使用this关键字调用成员方法通过this关键字调用成员方法,具体示例代码如下:classStudent{ publicvoidopenMouth(){ ... } publicvoidread(){ this.openMouth(); }}3使用this关键字调用构造方法classStudent{ privateStringname; privateintage; publicStudent(){ System.out.println("实例化了一个新的Student对象。"); } publicStudent(Stringname,intage){
this();//调用无参的构造方法
构造方法是在实例化对象时被Java虚拟机自动调用,在程序中不能像调用其他成员方法一样调用构造方法,但可以在一个构造方法中使用“this(参数1,参数2…)”的形式调用其他的构造方法。接下来通过一个案例演示使用this关键字调用构造方法。3使用this关键字调用构造方法=name;this.age=age; } publicStringread(){return"我是:"+name+",年龄:"+age; }}publicclassExample11{ publicstaticvoidmain(String[]args){ Studentstu=newStudent("张三",18);//实例化Student对象System.out.println(stu.read()); }}3使用this关键字调用构造方法在使用this调用类的构造方法时,应注意以下几点:(1)只能在构造方法中使用this调用其他的构造方法,不能在成员方法中通过this调用其他构造方法。(2)在构造方法中,使用this调用构造方法的语句必须位于第一行,且只能出现一次。下面程序的写法是错误的:publicStudent(Stringname){System.out.println("有参的构造方法被调用了。");this(name); //不在第一行,编译错误!}3使用this关键字调用构造方法(3)不能在一个类的两个构造方法中使用this互相调用,错误程序如下。classStudent{ publicStudent(){this("张三"); //调用有参构造方法 System.out.println("无参的构造方法被调用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年教资考模拟试卷子模拟试题及答案
- 2026年常州考编音乐模拟试题(含答案)
- 2026年皮肤科疾病中西医结合模拟试卷及答案
- 2026年培训师模拟试卷及答案
- 2026年机械类小知识题库及参考答案
- 2026年图文编辑考试模拟试卷带答案
- 2026年军校模拟试卷目及答案
- 2026年山东城市建设职业学院高职单招笔试英语历年参考题库含答案解析
- 2026年安顺职业技术学院高职单招笔试英语历年参考题库含答案解析
- 2026年安徽现代信息工程职业学院高职单招笔试职业技能测验历年参考题库含答案解析
- 劳动纪律教育测试题目及答案
- 文书档案数字化培训课件
- 长期照护师技能考试试卷与答案
- 检察院招录书记员考试《法律基础知识》及答案
- 2025年军队文职《专业科目》教育学类(体育学)统一考试试卷
- 2024年中国船级社北海办事处招聘笔试真题
- 2025年共青团团课考试题库及答案
- DB32T 4355-2022 建筑施工附着式升降设施安全技术规程(修)
- 废气处理行业营销策略方案
- 法务岗位招聘笔试题与参考答案(某大型国企)
- 七年级地理下学期人教版 8.3撒哈拉以南非洲第二课时 教学设计
评论
0/150
提交评论