Java:使用接口从父类调用子类方法

问题描述 投票:1回答:1

我不知道这个问题是否有效,或者我在定义父类结构时做错了什么。

但是下面是类和接口的形成。

public interface Test {
    public void print();
}

class Parent implements Test{
    @Override
        public void print(){
            System.out.print("This is parent class);
    }

    @Override
        public void write(){
            System.out.print("This is write method in parent class);
    }
 }

class Child extends Parent{
    @Override
    public void print(){
        System.out.print("This is child class);
    }
}

使用接口调用方法时的预期输出

test.print();

它应该从Child类中调用print方法。

并且当我使用接口调用方法时

test.write();

它应该从Parent类调用write方法。

所以现在这都没有发生,在两种情况下都是从Parent类调用方法。

因此,任何建议或答案都将不胜感激。

java android parent-child
1个回答
0
投票

您可能需要将其强制转换为Child类。也许在它之前放一个支票,像这样:

if (test instanceof Child) {
    ((Child) test).print();
}
© www.soinside.com 2019 - 2024. All rights reserved.