java 方法里面定义接口_java – 当接口A在其方法签名中定义接口B时
…如何限制A的实现在方法签名中使用B的某个实现?
用例
这是一个Unit接口和两个实现它的枚举:
public interface Unit { ... }
public enum ForceUnit implements Unit { ... }
public enum MassUnit implements Unit { ... }
属性界面使用哪个:
public interface Property {
public void setUnit( Unit unit ); // for example
}
public class Force implements Property { ... }
public class Mass implements Property { ... }
在这里我想要能够执行:
> Force在setUnit签名中只使用ForceUnit
> Mass在setUnit签名中只使用MassUnit
当我尝试这样做,Eclipse抱怨:
The type Mass must implement the inherited abstract method Property.setUnit(unit)
并及时提出两个快速修复:
>使类抽象,这不是一个选项,因为我想要能够像Mass mass = new Mass();
>使用@Override注释添加未实现的方法.我不知道这是否是正确的解决方案,但对我来说这个笨拙的笑容.
问题
>我需要实现什么选择?仿制药的使用在这里有帮助吗?
为什么把类标记为抽象的方式来解决问题?
java 方法里面定义接口_java – 当接口A在其方法签名中定义接口B时相关推荐
- java 接口 签名机制_java – 当接口A在其方法签名中定义接口B时
-如何限制A的实现在方法签名中使用B的某个实现? 用例 这是一个Unit接口和两个实现它的枚举: public interface Unit { ... } public enum ForceUnit ...
- Java啤酒生产系统描述_Java描述设计模式(03):工厂方法模式
一.工厂方法模式 1.生活场景 系统常见的数据导出功能:数据导出PDF.WORD等常见格式. 2.工厂方法模式 是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性 ...
- java未知变量的类型_Java语言中类、变量及方法的声明 | 学步园
类声明 [ public][ abstract][ final] class NameOfClass [ extends Super][ implements Interfaces] pubilc:声 ...
- java for循环创建线程_Java创建线程的两种方法
大多数情况,通过实例化一个Thread对象来创建一个线程.Java定义了两种方式: 实现Runnable 接口: 可以继承Thread类. 下面的两小节依次介绍了每一种方式. 实现Runnable接口 ...
- java构造方法可以重载吗_Java基础教程之构造器与方法重载
在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initialization).初始化时,对象的数据成员被赋予初始值.我们可以显式初始化.如果我们没有给数据成员赋予初始值,数据成员 ...
- java定义构造方法_JAVA基础学习之路(三)类定义及构造方法
类的定义及使用 一,类的定义 classBook {//定义一个类intprice;//定义一个属性intnum;public static int getMonney(int price, intn ...
- java repaint 重画图形_Java Graphics的paint和repaint方法
调用paint的一般是repaint()或当显示器刷新的时候调用的类似repaint()的类. 当对于桌面执行了某类操作,改变了桌面上的图象时,jvm收到界面被调整的信息,此时会调用visibl ...
- java 根据日期获取天数_java获取日期之间天数的方法
//获取两个日期之间的天数 private int daysBetween(Date now, Date returnDate) { Calendar cNow = Calendar.getInsta ...
- java遍历是什么意思_Java遍历集合的几种方法分析(实现原理、算法性能、适用场合)...
概述 Java语言中,提供了一套数据集合框架,其中定义了一些诸如List.Set等抽象数据类型,每个抽象数据类型的各个具体实现,底层又采用了不同的实现方式,比如ArrayList和LinkedList ...
最新文章
- (一)Android Studio 安装部署 华丽躲坑
- HTTP 错误 404.2 - Not Found
- Linux服务源码安装后开机自启动04-php-fpm
- 控制 WebBrowser 控件的外观和行为
- 旋钮编码器c代码_人脸合成效果媲美StyleGAN,而它是个自编码器
- springboot No Java compiler available for configuration options compilerClassName
- 多线程面试题之原子性、可见性、有序性
- php foreach 收邮件_php机制本身不提供多线程的操作,有了swoole就不一样了
- CentOS7.4中搭建lnmp环境
- GoogLenet网络解读及代码实现(Pytorch)
- python调用go并把结果传回go_从Go调用Python函数并获取函数返回值
- 【训练记录】2013-2014 Petrozavodsk Winter Training Camp, Moscow SU Trinity Contest @homework-7
- java 匿名函数_Java8学习系列之匿名函数Lambda
- 2023计算机毕业设计SSM最新选题之java二手车交易平台设计6b7sc
- 【C++篇】STL常见容器String的模拟实现
- vue 点击打开pdf
- 密码锁屏保护隐私更安全,这款口碑好的手机浏览器值得拥有
- RGBA 编码为 YUV420SP【NEON】
- 网格设计版式设计_网页设计展示精美的版式
- 微信公众平台的运营管理