- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
this和super关键字1
目录1this关键字2super关键字
this关键字表示某个对象,this关键字可以出现在实例方法和构造方法中,但不可以出现在类方法中。当局部变量和成员变量的名字相同时,成员变量就会被隐藏,这时如果想在成员方法中使用成员变量,则必须使用关键字this。语法格式为:this.成员变量名this.成员方法名()this关键字
6/27/2024classPerson{ privateStringname; privateintage; publicPerson(Stringname,intage){ this.name=name; this.age=age; } //setter、getter略 publicStringgetInfo(){ return姓名:+this.name+,年龄:+this.age; }}publicclassTestDemo{ publicstaticvoidmain(Stringargs[]){ Personper=newPerson(张三,20); System.out.println(per.getInfo()); }}this关键字常见用法“this.属性”表示本类属性1、Java中提供了一个关键字this来指代当前对象,用于在方法中访问对象的其它成员。
6/27/2024classPerson{ privateStringname; privateintage; publicPerson(){ System.out.println(***一个新的Person类对象被实例化。); } publicPerson(Stringname){ this(); //调用无参构造 this.name=name; } publicPerson(Stringname,intage){ this(name); //调用有一个参数的构造 this.age=age; } //setter、getter略 publicStringgetInfo(){ return姓名:+this.name+,年龄:+this.age; }}publicclassTestDemo{ publicstaticvoidmain(Stringargs[]){ Personper=newPerson(张三,20); System.out.println(per.getInfo()); }}this关键字常见用法2、使用this([参数])的形式来调用其他的构造方法。
6/27/2024this关键字注意事项在使用this调用构造方法的时候有以下一些问题:所有的构造方法是在对象实例化的时候被默认调用,而且是在调用普通方法之前调用,所以使用“this()”调用构造方法的操作,一定要放在构造方法的首行;如果一个类之中存在了多个构造方法的话,并且这些构造方法都使用了this()互相调用,那么至少要保留一个构造方法没有调用其他构造,以作为程序的出口。this不能用在static方法中!
super关键字在Java中,super关键字有两个主要用途第一种用途是:在子类的构造方法中,super关键字可以显式地调用父类的构造方法,用于将参数传递给它;其一般语法是:super(实际参数);需要注意的是:该语句必须是子类构造方法的第一条语句。
super关键字示例1classPoint//定义点类{protectedfloatmX,mY;//x轴坐标和y轴坐标publicPoint(floatx,floaty)//构造方法{mX=x;mY=y;}……}classCircleextendsPoint//定义圆类继承于点类{protectedfloatmRadius;//半径publicCircle(floatx,floaty,floatr)//构造方法{super(x,y);//显式调用父类构造方法,必须是第一条语句mRadius=r;}……}
super关键字的第二种用途:如果父类和子类中有同名成员,在子类中默认访问是属于自己的那一个成员;super关键字可以明确地指定要访问父类中的成员;其一般语
文档评论(0)