package com.test;public class Test1{
public Test1(){
this(12);
} public Test1(String str){
}
public Test1(int i){
}
}
我就是想问一下,构造方法里面引用了另一个构造方法用this,那么请问这个指当前对象的this是指什么呢?是不是指当前的线程呢?
public Test1(){
this(12);
} public Test1(String str){
}
public Test1(int i){
}
}
我就是想问一下,构造方法里面引用了另一个构造方法用this,那么请问这个指当前对象的this是指什么呢?是不是指当前的线程呢?
其实你这个例子是在构造方法里面调用其他的构造方法
this(12) 的意思是 带哦用public Test1(int i){}这个构造方法
this(12)相当于调用Test1(12)方法
package com.test;public class Test1{
public Test1(){
Test1(12);
} public Test1(String str){
}
public Test1(int i){
}
}把this改成类名就报错,这又是为什么呢?
假如你的类中定义这样的方法 这种写法完全可以
public void Test1(int i){}
其实你这个例子是在构造方法里面调用其他的构造方法
this(12) 的意思是 带哦用public Test1(int i){}这个构造方法
this的使用方法:
a.用在构造函数中区别和成员变量中同名的局部变量;
b.用在构造函数中的调用【this(name)】,并且务必使用在构造函数的第一行。
注意:其中a种情况使用很频繁,而第二种情况使用较少,至于第二种情况为何构造函数间可以用this调用,我理解是一种规定的用法。至于底层原理,也不是很清楚。