栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

this关键字

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

this关键字

为了解决程序中的成员变量和局部变量的名称冲突,在方法中无法访问成员变量。Java中提供了一个关键字this来指代当前对象,用于在方法中访问对象的其他成员。接下来讲解在程序中的三种常见的用法。

1、通过this关键字调用成员变量,解决与局部变量名称冲突问题。
class Person{
     int age;               //成员变量age
     Public Person(it age){//局部变量age
          this.age=age;     //将局部变量age的值赋给成员变量age
   }
}

在上面的代码中 ,构造方法的参数被定义为age,它是一个局部变量,在类中还定义了一个成员变量,名称也是age。在构造方法中如果使用“age”,则访问局部变量,但是如果使用“this.age”则是访问成员变量。

2、通过this关键字调用成员方法。
class Person{
     public void openMouth(){
      .
      .
      .
   }
   public void speak(){
      this.openMouth();
   }
}

在上面的speak()方法中,视野this调用了openMouth()方法。注意,此处this可以省略不写。

3、通过this关键字调用构造方法。

构造方法是在实例化对象时被Java虚拟机自动调用的,在程序中不能像调用其他方法一样去调用构造方法,但可以在一个构造方法中使用“this([参数1,参数2,......])”的形式来调用其他的构造方法。

package demo;
class Person{
	public Person(){
		System.out.println("无参的构造方法被调用了...");
	}
	public Person(int age){
		this();//调用无参的构造方法
		System.out.println("有参的构造方法被调用了...");
	}
}
public class This01 {
	public static void main(String[] args){
		Person p = new Person(18);//实例化Person对象
	}
}

结果:

 在使用this调用类的构方法时,应注意以下几点:

1、只能在构造方法中使用this调用其他的构造方法,不能在成员方法中使用; 2、在构造方法中,使用this调用构造方法的语句必须是该方法的第一条执行语句,且只能出现一次;错误示例:程序会报错

 报错:Constructor call must be the the first statement in a constructor(调用构造函数必须是构造函数总的第一条语句)

3、不能在一个类的两个构造方法中使用this互相调用。错误示范:

 程序报错:Recursive constructor invocation Person()(递归调用构造函数Person())。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/603082.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号