this 关键字
普通方法中,this总是指向调用该方法的对象。
构造方法中,this总是指向正要初始化的对象。
this最常用的方法:
1.让类中的一个方法,访问该类的另一个方法或属性。
2.使用this关键字调用重载go哦早方法。避免相同的初始化代码,只能在构造方法中,并且必须位于构造方法的第一句。
this使用时的注意事项:
this不能用于static方法!(this指向当前对象,static方法跟对象没有一毛钱的关系)
public void test(this,super//隐式参数){} //隐式参数共两个this和super
public static void test(){}//static不能使用this
为什么static不能使用this关键字呢?
static方法是类方法,先于任何的实例(对象)存在。即static方法在类加载时就已经存在了,但是对象是在创建时才在内存中生成。而this指代的是当前的对象。
/**
* 特殊用法 this() 通过this调用其他构造方法,*必须放在构造方法内的第一句*,也可以调用有形参的构造方法
*/
this()//使用方法
calss Test {
public Test(String a){
this();
}
public Test(){
System.out.println("测试this()括号");
}
}
在Java中,如果一个构造方法想调用另一个构造方法,需要是用this(参数列表)的形式,自动调用对应的构造方法。不可以直接使用类名进行调用。
public class Person {
private String name;
private int age;
public Person() {
this("Dick", 12);
}
public Person(String n) {
this(n, 12);
}
public Person(String n, int a) {
name = n;
age = a;
}
}
要是构造函数直接叫this就更方便了。