小编Jus*_*Web的帖子

我不知道如何使用类类型作为参数

所以我正在创建一个插件插件,但这并不是那么重要.

我有一个Selection类,它保存有关x,z,宽度,深度内容的2D区域的信息.在某个点上,矩形或椭圆将填充到该选择中.我的Ellipse和Rectangle类实现了一个接口Shape.

在Selection的consturctor中,我想确定以后使用的形状的类型.我的第一个想法是传递类类型

public Selection(Class<Shape> shapeType) {
Run Code Online (Sandbox Code Playgroud)

所以我之后可以创建该类的对象

Constructor<Shape> cons = shapeType.getConstructor(//Well I also don't know what belongs here);
Shape s = cons.newInstance(this);
Run Code Online (Sandbox Code Playgroud)

最后我得到了一个N​​ullpointerException,因为Shape接口没有构造函数.

我很困惑.我应该将Shape接口更改为抽象类,还是只在构造函数中传递一些像ELLIPSERECTANGLE这样的int ?有人知道我能做什么吗?

在此先感谢Mighty One

java interface getconstructor type-parameter

1
推荐指数
1
解决办法
60
查看次数

标签 统计

getconstructor ×1

interface ×1

java ×1

type-parameter ×1