this关键字

package com.lrq;
/**
 * 
 * @author 李瑞琦
 * 解决全局变量跟局部变量同名的问题
 * 1、在局部变量前加下滑线
 * 2、通过this关键字
 * 普通方法中,this总是指向调用该方法的对象。
 * 构造方法中,this总是指向正要初始化的对象。
 * this不能用于static方法。
 *
 */
public class TestThis {
    public static void main(String[] args) {
        Dog dog = new Dog("旺财");
        System.out.println(dog.name);
        dog.sayHello("八戒");
    }
}
class Dog{
    String name;
    int age;
    //空构造器
    public Dog(){
        System.out.println("我是空构造器");
    }
    /*
    //把局部变量赋值给全局变量的时候如果重名
    //1、可在局部变量前面加下划线
    //有参构造器
    public Dog(String _name){
        name= _name;
    }
    //2、可用this关键字
    public Dog(String name){
        this.name= name;
    }
    */
    public Dog(String name){
        //调用空构造器,构造器在调用构造器的时候需放在方法的最上边并且只能调用一次
        this();
        this.name=name;
    }
    //在普通方法中this总是指向调用该方法的对象
    public void sayHello(String name){
        System.out.println(this.name+"----"+name);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值