java this关键字的使用

20180306 java this关键字的使用

使用this的六个场景:


1、解决成员变量和参数(局部变量)之间的二义性,必须使用。
eg:
class User
{
  private String name = NULL;
  public String getName()
  {
    return name;
  }
  public String setName(String name)
  {
    this.name = name;//解决成员变量和参数之间的二义性
  }


}


2、同类中实例方法间互相调用(也可以不用this)。




class User{


  public void show()
  {
    Systtem.out.println("word");
  }


  public void sayHello()//当调用了sayHello()时,
                        //就调用了本类中的show方法
  {
    Systtem.out.println("hello");
    this.show();//但是我们编写程序时,经常把this省略
                 //这样调用this方法也没错。
  }


}




3、将this作为参数传递给另一个方法(不常用)。
4、将this作为方法的返回值(不常用)。
5、构造器重载的互调 this([参数])必须写在构造方法第一行(重点讲)。
6、static和this不能一起使用。
原因:当字节码被加载进JVM,static成员就已经存在了,
但是此时对象还没有创建,没有对象 就没有this,
因为this是对象中指向自己的一个引用。
eg:
public static void main(String[] args)
{
System.out.println(this);//错误,this不能与static一起使用
}




5、构造器重载的互调 this([参数])必须写在构造方法第一行。
详细解析:


class User
{
  private String name = NULL;
  private int age;




  User()//默认构造器,什么都不做
  {
    
  }


  User(String name)//创建对象,初始化name
  {
    this.name = name;
  }


  User(String name)//创建对象,初始化name和age
  {
    this.name = name;//this表示当前创建的对象
    this.age = age;
  }


  public void show()
  {
    System.out.println(name + " "+ age);
  }
}


class ThisDemo{
public static void main(String[] args)
{
  User u1 = new User("张三",16);//调用有参数的构造器
  u1.show();//此处输出:   张三  16  
}
};




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值