[求助]关于Java的super的用法
有一个类class1 class class1 extends class2 implements interface1 {}
中可不可以使用super,如果可以的话super是指向class2还是interface1
请高手们帮小弟指点迷津,谢谢
衍生类中的域或方法与父类中的域或方法同名,因为在衍生类里,衍生类的域或方法优先级高,所以衍生类中的同名的域和方法就隐藏了父类的域和方法,但如果想要使用超类中的域或方法,此时就需要用到super,比如:
class Country{
String name;
public void value(){
name=\"dad\";
System.out.println(\"superclass's value method\");
}}
下面的衍生类中,衍生类的域和方法隐藏了父类的name域和value()方法,
class City extends Country{String name;
void value(){
name=\"son\";
super.value();
System.out.println(name+\" is the value of subclass's name\");
System.out.println(super.name+\" is the value of superclass's name\");
}
所以显示的结果为
superclass's value method
son is the value of subclass's name
dad is the value of superclass's name
如果我们想要使用超类的构造函数则应当使用super(参数列表)的形式。
[此贴子已经被作者于2006-1-20 22:08:16编辑过]