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

Java 我不知道如何使用类类型作为参数,java,interface,type-parameter,getconstructor,Java,Interface,Type Parameter,Getconstructor,所以我正在创建一个插口插件,但这并不重要 我有一个选择类,它保存关于2D区域的x、z、宽度和深度信息。在某一点,矩形或椭圆将填充到该选择中。我的椭圆和矩形类实现了一个接口形状 在选择的constructor中,我想确定稍后使用的形状的类型。我的第一个想法是通过这门课 public Selection(Class<Shape> shapeType) { 所以我可以在之后创建该类的对象 Constructor<Shape> cons = shapeType.getConst

所以我正在创建一个插口插件,但这并不重要

我有一个选择类,它保存关于2D区域的x、z、宽度和深度信息。在某一点,矩形或椭圆将填充到该选择中。我的椭圆和矩形类实现了一个接口形状

在选择的constructor中,我想确定稍后使用的形状的类型。我的第一个想法是通过这门课

public Selection(Class<Shape> shapeType) {
所以我可以在之后创建该类的对象

Constructor<Shape> cons = shapeType.getConstructor(//Well I also don't know what belongs here);
Shape s = cons.newInstance(this);
最后我得到了一个NullpointerException,因为Shape接口没有构造函数

我只是糊涂了。我应该将Shape接口更改为抽象类,还是只在构造函数中传递一些int,比如椭圆和矩形?有人知道我能做什么吗

提前感谢万能的

不要这样做

你想做的是通过一个东西,它给了我一个东西。你实际上传递的是一种东西,它能让你接触到给你东西的东西

一个类允许您访问零个或多个构造函数;它不能保证有一个可以使用特定参数调用的实例。使用反射发现的问题是,无法保证构造函数的存在

采取一种更简单的方法:通过供应商不要这样做

你想做的是通过一个东西,它给了我一个东西。你实际上传递的是一种东西,它能让你接触到给你东西的东西

一个类允许您访问零个或多个构造函数;它不能保证有一个可以使用特定参数调用的实例。使用反射发现的问题是,无法保证构造函数的存在


采取更简单的方法:传入供应商不要这样做:传入供应商同意^^^但是如果必须使用newInstance,传入的正确内容是类避免在评论中回答问题^^^不要这样做:传入供应商同意^^^但是如果必须使用newInstance,传入的正确内容是类避免回答评论中的问题^^在我的情况下,我认为供应商不会工作。所有形状也期望在其构造函数中进行选择,而此时还不存在。我附带了公共选择类,在这种情况下,你需要一个函数,或者更一般地说,一个函数,或者如果你需要两个参数,一个双函数;或者如果你需要更多,定义你自己的接口。在我的情况下,我认为供应商不会工作。所有形状也期望在其构造函数中进行选择,而此时还不存在。我附带了公共选择类,在这种情况下,你需要一个函数,或者更一般地说,一个函数,或者如果你需要两个参数,一个双函数;或者,如果需要更多,请定义自己的接口。