java基础 this keyword!

为了程序的可读性,通常将一个类中的表示同一属性的变量进行统一的命名。可是这样做又会导致成员变量与局部变量名字冲突导致无法訪问成员变量。为了解决问题,java中引入了this这个keyword!所以this 的作用就是用于在方法中訪问对象的其它成员!

thiskeyword有下面三种常见使用方法:

1)通过thiskeyword能够明白的訪问成员变量。解决与局部变量重名的矛盾!

(成员变量与局部变量冲突的时候)

class Student{
    int id;
    public Student(int id){
        this.id=id;
    }
    public int getId(){
        return this.id;
    }
}
构造方法中的參数是id,它是一个局部变量与成员变量id重名。

通常在构造方法中使用this.id訪问成员变量,通过id訪问构造方法中的内部变量!

2)通过this keyword能够调用成员方法!

(多个成员方法的时候)

class Person{
    public void eat{
        ...
    }
    public void behavior{
        this.eat();
        ...
    }
}

在一个类中有多个成员方法的时候,通过thiskeyword能够方便的实如今一个成员方法中调用还有一个成员方法!

3)构造方法是在实例化对象的时候被java虚拟机自己主动调用的。在程序中无法像调用一般成员方法一样调用构造方法。可是能够通过在一个构造方法中使用this(參数1。參数2,參数3。。。)的形式来调用其它的构造方法。(多个构造方法的时候)

class Student{
    public Student(){
        System.out.print("訪问了无參构造方法!

"); } public Student(String id){ this(); System.out.println("訪问了有參构造方法。"); } } public class eg{ public static void main(String[] args){ Student s=new Student(3);//实例化对象的时候 } }


可是使用第三种的时候须要注意一些问题:

<1> this()的调用必须放在第一行,并且仅仅能出现一次。

<2>this()的调用仅仅能是在构造方法中调用还有一个构造方法,不能再成员方法中调用构造方法。

<3>不能在一个类的两个构造方法中使用this互相调用!这样叫easy造成死循环!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值