Java中对于this的认识

在编程过程中,经常会用到this,今天,来说一说Java中this的一些看法。

this是Java提供的一个关键字,它总是指向调用该方法的对象

根据this出现位置的不同,主要有以下几种用法:   

 

1.引用成员变量

  

public class A {

private int a; //在这里定义了一个全局变量a

 

public A(int a){

this.a = a; this.a指的是全局变量a 等号右边的a指的是int a 

}

 

public int getA(){

return a;

}

 

public void setA(int a){

this.a = a;  // 这个同理 等号右边的a是int a 左边的是全局变量a 

                 //这个方法就是重新定义一下a

}

}

 

2.引用成员方法

 

public class Student {

Student(){    //定义一个Student方法

gender = "男";

}

private String gender = "";

private static String name = "";

public void standUp(){   //定义standUp方法

this.say();                      //执行该方法时 调用的Student类下面的say方法,并执行

}

private void say(){                //定义say方法

System.out.println("仅供自身调用");

}

public static void main(String[] args) {

Student st = new Student();

st.standUp();

}

}

在默认情况下,因为调用关系都是对象本身的方法或者Field,所以this可以省略。

this关键字必须放在非静态方法里面.

 

 

3.代表自身类的对象

 

在一个类的内部,也可以使用this代表自身类的对象,或者换句话说,每个类内部都有一个隐含的成员变量,该成员变量的类型是该类的类型,该成员变量的名称是this。

 

public class A {

A a;

 

public A(){

a = this;  //这里的this代表的是自身类型的对象

}

 

public void test(){

System.out.println(this);

}

}

 

4.在自身构造方法内部引用其它构造方法

 

public class A {

int a;

 

public A(){

this(0);   //使用this调用了另外一个构造方法,其中0是根据需要传递的参数的值

}

 

public A(int a){

this.a = a;

}

}

需要注意的是,在构造方法内部使用this关键字调用其它的构造方法时,调用的代码只能出现在构造方法内部的第一行可执行代码。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值