通常情况子类覆写父类方法
如果是构造函数,直接用super()
如果是普通方法用super.method()
但是如果创建了子类实例,比如A类中覆写了Object的equals()方法
A a = new A();
a怎么调用Object的equals()方法
A没有显示继承其他类
通常情况子类覆写父类方法
如果是构造函数,直接用super()
如果是普通方法用super.method()
但是如果创建了子类实例,比如A类中覆写了Object的equals()方法
A a = new A();
a怎么调用Object的equals()方法
A没有显示继承其他类
首先,覆写是什么意思你肯定知道,子类的把父类的给覆盖掉了。子类拥有的方法域是子类的方法域与父类中可见的方法域的并集,如有重复,则保留子类中的此方法。至于a怎么调用Object的equals()方法,可以使用反射,相当于直接生成一个Object的实例,只不过下面的代码看似和A有什么关系,其实没什么关系:
public class A{
public static void main(String[] args) throws Exception{
A a = new A();
a.equals(args);
Method objectEquals = A.class.getSuperclass().getDeclaredMethod("equals", Object.class);
System.out.println(objectEquals.invoke("A", "A"));
}
@Override
public boolean equals(Object obj) {
System.out.println("A.equals");
return false;
}
}