Java中this关键字的使用

Java中this关键字的使用,第1张

Java中this是什么?

*在Java中,this关键字比较难理解,它的作用和其词义很接近。

        它在方法内部使用,即这个方法所属对象的引用;

它在构造器内部使用,表示该构造器正在初始化的对象。

* this 可以调用类的属性、方法和构造器

* 什么时候使用this关键字呢?

* 当在方法内需要用到调用该方法的对象时,就用this。 具体的:我们可以用this来区分属性(也叫成员变量)和局部变量。 比如:this.name = name;

* 使用this,调用属性、方法(属性即成员变量叫法不同而已)

class Person{ // 定义Person类
    private String name ;
    private int age ;
    public Person(String name,int age){
        this.name = name ; //加this的this.name和this.age指的是成员变量,未加this的等号后面的
                          //name和age指的是形参中的局部变量
        this.age = age ;     
    }
    public void getInfo(){
        System.out.println("姓名:" + name) ;
        this.speak();//调用这个类中的方法speak()
    }
    public void speak(){
    System.out.println(“年龄:” + this.age);
    }
}

 

当前正在 *** 作本方法的对
象称为当前对象。

class Person{ // 定义Person类
    String name;
    Person(String name){
        this.name = name;
    }
    public void getInfo(){
        System.out.println("Person类 --> " + this.name) ; 
    }
    public boolean compare(Person p){
        return this.name==p.name;//判断当前对象的name是否与形参中对象p的name相同
        //例如后面执行的这句代码:boolean b = per1.compare(per2);,per1为当前对象,per2为形参
        //中的对象
    }
 }
public class PersonTest{
    public static void main(String args[]){
        Person per1 = new Person("张三") ;
        Person per2 = new Person("李四") ;
        per1.getInfo() ; // 当前调用getInfo()方法的对象是per1
        per2.getInfo() ; // 当前调用getInfo()方法的对象是per2
        boolean b = per1.compare(per2);
    }
}

*使用this调用本类的构造器 

 this可以作为一个类中 构造器相互调用的特殊 格式

class Person{ // 定义Person类
    private String name ;
    private int age ;
    public Person(){ // 无参构造器
        System.out.println("新对象实例化") ;
    }
    public Person(String name){
        this(); // 调用本类中的无参构造器
        this.name = name ;
    }
    public Person(String name,int age){
        this(name) ; // 调用有一个参数的构造器
        this.age = age;
    }
    public String getInfo(){
        return "姓名:" + name + ",年龄:" + age ;
    }
}

注意:

 可以在类的构造器中使用"this(形参列表)"的方式,调用本类中重载的其 他的构造器!

 明确:构造器中不能通过"this(形参列表)"的方式调用自身构造器

 如果一个类中声明了n个构造器,则最多有 n - 1个构造器中使用了 "this(形参列表)"

 "this(形参列表)"必须声明在类的构造器的首行!

 在类的一个构造器中,最多只能声明一个"this(形参列表)"

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/921059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存