我们知道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类接收数据
我该怎么做?
答案 0 :(得分:1)
是的,您可以使用Interface
来实现,在jdk8中,您可以声明default
和static
的方法,而不必在子类中进行覆盖
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