如何调用一个类中不同的构造方法

时间:2021-02-25 20:16:22
一个类内部有多个构造方法
除了 通过传参的个数不同调用相应的构造方法外还有什么方法,那位大侠知道,求救啊,小弟面试被问到了这个问题,正在苦恼啊!

9 个解决方案

#1


利用反射
SomeObject.getClass().getConstructors(); 取得类中所有的公有构造方法
SomeObject.getClass().getConstructor(Class<?>... paramTypes); 更具构造方法的参数类型获取

返回的Constructor对象的newInstance(Object... initargs),通过传递不同的参数调用不同的构造方法实例化对象

还有就是用ReflectiFactory,那个我也不太熟悉,希望能帮到你

#2


估计是一般的职位,却出这种题目,又是一个垃圾公司。

#3


。。。深奥哦。。。这家什么公司啊?

#4


不多出些常见题目,尽出些白痴题目。

#5


引用 1 楼 aft_momo 的回复:
利用反射
SomeObject.getClass().getConstructors(); 取得类中所有的公有构造方法
SomeObject.getClass().getConstructor(Class <?>... paramTypes); 更具构造方法的参数类型获取

返回的Constructor对象的newInstance(Object... initargs),通过传递不同的参数调用不同的构造方法实例化对象

还有就是用ReflectiFactory,那个我也不太熟悉,希望能帮到你


顶一个 不过不知道面你的人是出于什么目的..

#6


引用 1 楼 aft_momo 的回复:
利用反射
SomeObject.getClass().getConstructors(); 取得类中所有的公有构造方法
SomeObject.getClass().getConstructor(Class <?>... paramTypes); 更具构造方法的参数类型获取

返回的Constructor对象的newInstance(Object... initargs),通过传递不同的参数调用不同的构造方法实例化对象

还有就是用ReflectiFactory,那个我也不太熟悉,希望能帮到你

正解 

一般的时候都是直接点出来看参数进行选择的。

#7


直接回答,除了通过传参个数还有就是类型喽?

#8


反射是可以的,不过还有没有其他方式呢?

#9


先谢谢大家了,我面试的是文思创新的自动化测试工程师,当时就懵了,

#1


利用反射
SomeObject.getClass().getConstructors(); 取得类中所有的公有构造方法
SomeObject.getClass().getConstructor(Class<?>... paramTypes); 更具构造方法的参数类型获取

返回的Constructor对象的newInstance(Object... initargs),通过传递不同的参数调用不同的构造方法实例化对象

还有就是用ReflectiFactory,那个我也不太熟悉,希望能帮到你

#2


估计是一般的职位,却出这种题目,又是一个垃圾公司。

#3


。。。深奥哦。。。这家什么公司啊?

#4


不多出些常见题目,尽出些白痴题目。

#5


引用 1 楼 aft_momo 的回复:
利用反射
SomeObject.getClass().getConstructors(); 取得类中所有的公有构造方法
SomeObject.getClass().getConstructor(Class <?>... paramTypes); 更具构造方法的参数类型获取

返回的Constructor对象的newInstance(Object... initargs),通过传递不同的参数调用不同的构造方法实例化对象

还有就是用ReflectiFactory,那个我也不太熟悉,希望能帮到你


顶一个 不过不知道面你的人是出于什么目的..

#6


引用 1 楼 aft_momo 的回复:
利用反射
SomeObject.getClass().getConstructors(); 取得类中所有的公有构造方法
SomeObject.getClass().getConstructor(Class <?>... paramTypes); 更具构造方法的参数类型获取

返回的Constructor对象的newInstance(Object... initargs),通过传递不同的参数调用不同的构造方法实例化对象

还有就是用ReflectiFactory,那个我也不太熟悉,希望能帮到你

正解 

一般的时候都是直接点出来看参数进行选择的。

#7


直接回答,除了通过传参个数还有就是类型喽?

#8


反射是可以的,不过还有没有其他方式呢?

#9


先谢谢大家了,我面试的是文思创新的自动化测试工程师,当时就懵了,