日期:2014-05-20  浏览次数:20829 次

java中的this
 public class Test1
 {
public static void main(String[] args) {
b aa=new b();
}
 }
 class a
 {
int num=0;
String name;
public a(){
  System.out.println("大家好!我叫:");
}
 }
 class b extends a
 {
String name;
public b(){
          int shu=2;
  this.name="张三";    //这是第2句
  System.out.println("我叫"+name+"我今年"+shu+"岁。");
        }
  }
在Java书中说this在构造函数中只能出现在第一句,可是这里在第二句也可以正常运行啊,求大神讲解
this

------解决方案--------------------
你的this只是赋值,在第几句都可以,说this在第一句是调用其他构造函数的时候,估计楼主没仔细看书!
------解决方案--------------------
你的this是指对象,构造函数的this是this()----》构造函数方法,LZ别搞混了。
函数,对象要区分
------解决方案--------------------

class Person{
String name;
int age;
public Person(){
System.out.println("student");
}
public Person(String name,int age){
this();
this.name = name;
this.age = age;
System.out.println("worker");
}
}

public class TestThis {

public static void main(String[] args) {
new Person("zhangsan",25);

}

}

像这种调用构造函数的时候this()必须放在第一行,不然就会报错