[Java基础] Java中父类调用子类
原创
©著作权归作者所有:来自51CTO博客作者Golang梦工厂的原创作品,请联系作者获取转载授权,否则将追究法律责任
实现
- 把子类传递到父类的有参构造中,然后调用
- 使用反射的方式调用
- 父类调用子类的静态方法
package Quote;
public class demo {
public static void main(String[] args) {
Son son = new Son();
Father father = new Father(son);
father.fun1();
father.fun4();
}
}
class Father{
public Son son;
public Father(Son son)
{
this.son = son;
}
public Father(){}
public void fun4()
{
try{
Class cls = Class.forName("Quote.Son");
Son son = (Son)cls.newInstance();
son.fun2();
}catch (Exception E)
{
E.printStackTrace();
}
}
public void fun1(){
System.out.println("parent method");
son.fun2();
son.fun3();
}
}
class Son extends Father{
public static void fun3()
{
System.out.println("我是子类的静态方法");
}
public void fun2()
{
System.out.println("我是子类的方法");
}
}
这三种方法都可以实现父类直接调用子类的方法。