本帖最后由 韩新凯 于 2012-5-6 23:06 编辑
赵志勇 发表于 2012-5-6 16:31
super.name;//会出错。
为什么呢?
额,建议去看看毕老师关于super还有this的视频
静态方法中不能用super。
class Person {
public static String name;
Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class StudentTest extends Person {
// public String name = "aaa";如果有这条语句的话,
// StudentTest st = new StudentTest("hah");输出的结果是:aaa。
StudentTest(String name) {
super(name);
super.name = name;// 没有意义
// TODO Auto-generated constructor stub
}
public void test() {
System.out.println(super.name);
}
public static void main(String[] args) {
StudentTest st = new StudentTest("hah");
System.out.println(st.name);//hah
st.test();//hah
}
}
你可以再尝试着用super去调用父类的方法。这样你应该能明白了。
|