java - 具有一些共同属性但没有遗产的两个类
问题描述
我有两个具有一些共同属性的类:
public class A {
private String a;
private String b;
private String c;
// setters & getters
}
public class B {
private String a;
private String b;
private String c;
// setters & getters
}
没有hiretage,我想创建一个可以接受这两个类之一的通用方法
public <T> void myMethod(T object){
object.getC(); // "c" attribute of class A and B
}
我怎么能在java 8中做到这一点
解决方案
您可以定义如下接口:
interface ISomeInterfaceToGetC {
String getC();
}
实现很简单:
class A implements ISomeInterfaceToGetC {
@Override
public String getC(){
return c;
}
}
然后你的两个类都可以实现这个接口,而不是传递T object
你可以传递ISomeInterfaceToGetC implementationObject
和调用implementationObject.getC();
它将返回你的字符串。
推荐阅读
- javascript - 从角度计算滚动、俯仰和偏航
- android - 使用 AES 和 RSA 的 Android 日志加密
- .net - RabbitMQ .Net 桌面应用程序在后台任务中运行
- sql - 如何从另一个表中添加一个表中不存在于表中的列(Alter Table)
- java - 使用 postgres 索引选择从偏移到限制的所有记录
- javascript - 如何分别测试服务的每个方法?
- css - 如何在 Angular 中对齐和设置视图页面的样式
- c# - VSTO 应用程序是否可以与连接到 GSuite 帐户的 MS Outlook 一起使用?
- ios - 如何在swift5中清晰显示二维码?
- php - 如何使用 Laravel 情感分析?