Java:从父级访问Child类方法

时间:2016-12-02 09:44:11

标签: java inheritance

是否可以从父类访问子类方法?

public class C1 {
    public C1(){
         System.out.println("Constructor C1");
    }
}

public class C2 extends C1{
    public void m1(){
         System.out.println("print from m1");
    }
}

public class C3 extends C1{
    public void m2(){
         System.out.println("print from m2");
    }
}

public class TestMain{
    public static void main(String[] args){
         C1 c1 = new C1();
    }
}

无论如何都要访问c1.m1()& c1.m2()没有初始化子类?

1 个答案:

答案 0 :(得分:1)

否则不存在:c1是引用类型为C1的对象的引用。没有转换可以用来欺骗Java认为它是C2C3

通常做的是在abstract工具中定义mSomething函数C1。类和使用

之类的东西

C1 c = new C2();

然后

c.mSomething()将调用多态,即子类中所需的函数。

另一种方法是制作m1m2 static,让他们将C1实例作为参数。