是不是在子类中的方法都可以使用super来调用父类的同名方法?
不仅仅是构造方法?
除了私有方法,其他都是可以调用的,public 和protected不多说了,default的看下面的例子就行了,已经通过运行了。另外就是不要用到static修饰的变量、方法和代码块中。
public class Country {
String name;
void value() {
name = "China";
}
}
public class City extends Country {
String name;
void value() {
name = "beijing";
super.value();
System.out.println("子类City的name:" + name);
System.out.println("父类Country的name:" + super.name);
}
public static void main(String[] args) {
City c = new City();
c.value();
}
}
私有方法不能调用,public和protected的可以
必须是公有的、保护的,并且非静态的方法才行。
我就说说不能调用的情况吧:
1.private方法肯定不能调用,因为子类无法访问父类的private方法;
2.static方法不能调用,static方法不会被继承的,所有父类、子类共用一份;
3.virtual方法不能调用,因为这个方法就没有实现;