java - 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 类接收数据
我怎样才能做到这一点?
解决方案
是的,您可以通过使用来实现这一点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
推荐阅读
- java - 用于验证整数部分中最多 5 位和最多 2 位小数的格式的正则表达式
- sql - 投射到自定义域 PostgreSQL
- ios - 使一个协议符合另一个协议
- c# - ASP.NET MVC:大 PDF 下载失败,但大 zip 下载成功
- windows - 用于将文件保存在共享位置的 SPN 命令
- reactjs - Reactjs-如何在 react-native 中使用 stacknavigator 导航?
- java - 找不到对象时getOne(id)不返回null
- java - Intellij IDEA - 如果超过一个,则强制每个方法参数在其自己的行上
- python - 如何删除二维矩阵中具有 0 值的前 n 列/行?
- arm - 索引的 MMU 页表描述符大小