Java关键字之this用法详解_第1页
Java关键字之this用法详解_第2页
Java关键字之this用法详解_第3页
Java关键字之this用法详解_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Java关键字之this用法详解

2.调用类中的属性

大多数时候,一般的普通方法访问其他方法、成员变量时不必使用this关键字。但如果方法的形参与类中属性的名称相同,我们可以通过this.属性名的形式进行区分。

/**

*@author

publicclassStudent{

privateStringname;

privateintage;

privateStringsex;

publicStudent(Stringname,Stringsex,intage){

//方法的形参与属性名相同,可以通过“this.属性名”的形式进行区分

=name;

this.sex=sex;

this.age=age;

publicstaticvoidmain(String[]args){

Studentstu=newStudent("一一哥","男",35);

System.out.println("name="++",sex="+stu.sex+",age="+stu.age);

}

在上面的代码中,name、age、sex都是被private修饰的,因此我们不能在类的外部进行直接设置。为了解决这个问题,我们可以给Student类添加一个构造方法,然后在构造方法中传递参数进行修改。我们在Student类的构造方法中使用this关键字调用name、age和sex属性,以此区分方法的形参。这里的this就表示当前对象,=name语句是一个赋值语句。等号左边的是当前对象的成员变量name,等号右边的name表示方法形参接收的数值。

3.调用类中的方法

this关键字的另一个作用,就是让类中一个方法,访问该类里的另一个方法。

/**

*@author一一哥Sun

publicclassComputer{

//电脑品牌

privateStringlogo;

//播放音频

publicvoidplaySound(){

System.out.println("播放音频...");

//播放视频

publicvoidplayVideo(){

//同时播放音频

this.playSound();

System.out.println("播放视频...");

publicstaticvoidmain(String[]args){

//静态方法中不能使用非静态成员

//this.playVideo();

Computercom=newComputer();

com.playVideo();

}

在上面的代码中,我们在playVideo()方法中调用了playSound()方法,此时就可以通过this.方法名的形式进行调用。因为this可以代表任何对象,当this出现在某个方法体中,它所代表的对象是不确定的,但它的类型是确定的,它代表的就是当前类的实例对象。只有当这个方法被调用时,它所代表的对象才被确定下来,谁在调用这个方法,this就代表谁。

但是我们不能在带有static关键词的方法中通过this.属性名或this.方法名来引用,这是因为Java语法有规定,静态成员不能直接访问非静态成员。在后面学习static关键字时,会再给大家详细讲解这一点!

4.调用类的构造方法

我们也可以使用this关键字,实现对构造方法的调用,此时是通过this()这样的语法格式来实现的。this()括号中可以有参数,如果有参数就是在调用指定的有参构造方法。

/**

*@author一一哥Sun

publicclassComputer{

//电脑品牌

privateStringlogo;

//电脑颜色

privateStringcolor;

//无参构造方法

publicComputer(){

//this(a,b)调用另一个构造方法

this(null,null);

//1个参数的构造方法

publicComputer(Stringlogo){

//this(a,b)调用另一个构造方法

this(logo,null);

//2个参数的构造方法

publicComputer(Stringlogo,Stringcolor){

System.out.println("logo="+logo+",color="+color);

publicstaticvoidmain(String[]args){

Computercom=newComputer("苹果");

}

大家注意,this()格式不能在普通方法中使用,只能在构造方法中使用。而且在构造方法中使用时,必须放在第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论