首页 > 解决方案 > Java:如何使用接口将数据从一个类传递到另一个类?

问题描述

我们知道 java 可以extends只有一个类。在这种情况下,我想使用interface.

主类.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);
    }
}

芒果.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

问题 :

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

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

我怎样才能做到这一点?

标签: javainterfaceoverriding

解决方案


是的,您可以通过使用来实现这一点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

推荐阅读