Java:如何使用接口将数据从一类传递到另一类?

时间:2018-08-11 17:51:20

标签: java interface override

我们知道Java只能extends有一个类。在这种情况下,我想使用interface做下面的工作。

MainClass.java

public class MainClass extends Mango {
    public static void main(String[] args) {
        MainActivity over = new MainActivity();
        over.run();
    }

    public void run(){
        one();
    }

    @Override
    public void two(String s){
        System.out.println("result : "+s);
    }
}

Mango.java

public class Mango {
    public void one(){
        System.out.println("mango one");
        two("mango two");
    }
    public void two(String s){}
}

输出:

mango one
result : mango two

问题:

在这种情况下,我通过扩展 MainClass Mango 得到了结果:芒果2 。但是在我的项目中, MainClass 已经扩展了另一个类。这就是为什么我要使用一个接口,该接口将与 MainClass 一起实现实现,用于 Override 方法two() Mango

  

好像我可以从Mango类接收数据

我该怎么做?

1 个答案:

答案 0 :(得分:1)

是的,您可以使用Interface来实现,在jdk8中,您可以声明defaultstatic的方法,而不必在子类中进行覆盖

public interface MongoSample {

default void one(){
    System.out.println("mango one");
    two("mango two");
}
default void two(String s){}

}

主班

public class MainClass implements MongoSample {

public static void main(String[] args) {
    MainClass over = new MainClass();
    over.run();
}

public void run(){
    one();
}
@Override
public void two(String s){
    System.out.println("result : "+s);
}

}

输出:

mango one
result : mango two