this关键字的使用:
1.引用成员变量:
this.变量;变量为成员变量;
使用this可以区分成员变量与局部变量;
public class Demo {
public static void main(String[] args) {
Person2 p=new Person2( "zhangsan ");
System.out.println(p.name );//zhangsan
Person2 m=new Person2();//Person2@1540e19d哈希地址
}
}
class Person2{
public String name;
public int age;
Person2(){
System.out.println(this);
}
Person2(String name){
this. name=name;
}
}
其实每个函数里都有一个默认的this引用,当对象调用函数的时候,将对象的地址赋给this关键字,此时this关键字可以指向对象
2.调用方法:
调用构造方法:构造方法在创建之后只能调用一次,用来初始化数据,this( )必须放在第一行
public class Demo {
public static void main(String[] args) {
Person2 p=new Person2( "zhangsan ",23);
System.out.println(p.name+p.age );
Person2 m=new Person2(23);
System.out.println(m.age+m.name);
}
}
class Person2{
public String name;
public int age;
Person2(int age){
this.age=age;
}
Person2(String name,int age){
this(age);//调用上面的构造函数,避免代码重复,提高代码的效率
this. name=name;
}
}
this调用普通方法:
this.方法名,其实不加也可以调用,但是最好还是加上目的是可以区分刚发的来源
this代表当前方法:
只要有某一对象调用本类中的方法,this就代表当前执行的对象
public class Demo {
public static void main(String[] args) {
Person2 p=new Person2( "zhangsan ",23);
System.out.println(p );
p.sleep();
}
}
class Person2{
public String name;
public int age;
Person2(int age){
this.age=age;
}
Person2(String name,int age){
this(age);
this. name=name;
}
public void sleep(){
System.out.println(this);
}
}
3.返回对象的值:
返回类的引用