[英]Java : How to pass data from one class to another using interface?
我們知道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
問題 :
在這種情況下,我得到了結果:用Mango 擴展 MainClass來實現芒果二 。 但是在我的項目中, MainClass已經擴展了另一個類。 這就是為什么我要使用將與MainClass 實現的接口用於Mango類的Override方法two()
的原因
好像我可以從芒果班接收數據
我怎樣才能做到這一點?
是的,您可以使用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.