class A {
int num;
String name;
//void A(int p_num,String p_name){ //TTTT///参数名和成员变量名不同,可以这样做;
//num=p_num;
//name=p_name;
//}
//void A(int p_num,String p_name){ //TTTT///参数名和成员变量名不同,可以这样做;
//this.num=p_num;
//this.name=p_name;
//}
void A(int num,String name){
//num=num;///The assignment to variable num has no effect
//name=name;///fff //参数名和成员变量名相同,不可以这样做;
this.num=num; TTT this显式的指明当前对象
this.name=name;必须要用this才对
}
public void run() {
System.out.println(this);
}
public String toString() {
return "hello";
}
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
A a = new A();
a.run();this调用A类中的toString方法
}
}
//输出 hello
要是把toString 注释掉:
class A {
int num;
String name;
//void A(int p_num,String p_name){ //TTTT///参数名和成员变量名不同,可以这样做;
//num=p_num;
//name=p_name;
//}
//void A(int p_num,String p_name){ //TTTT///参数名和成员变量名不同,可以这样做;
//this.num=p_num;
//this.name=p_name;
//}
void A(int num,String name){
//num=num;///The assignment to variable num has no effect
//name=name;///fff //参数名和成员变量名相同,不可以这样做;
this.num=num; TTT this显式的指明当前对象
this.name=name;必须要用this才对
}
public void run() {
System.out.println(this);
}
// public String toString() {
// return "hello";
// }
}
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
A a = new A();
a.run();this调用A类中的toString方法
}
}
//输出 A@6c10a234
this 是这个类的引用, 比如说
那么System.out.println(this)将打印A类自身引用的toString方法,如列,打印hello; 如果自身没有实现,则打印的是父类Object的toString方法;getClass().getName() + "@" + Integer.toHexString(hashCode()); 打印的是“类名@hashcode”