Class 从命令行参数加载类
具有作为命令行参数传递的类名Class 从命令行参数加载类,class,scala,Class,Scala,具有作为命令行参数传递的类名 $program-name class-name 如何在Scala中实例化此类中的对象?换句话说,可以从类名中获取对象吗?因为可以调用scala中的所有java方法,所以可以调用class.forName(classname)因为可以调用scala中的所有java方法,所以可以调用class.forName(classname)是的,这是可能的。例如: Class.forName("java.lang.String").newInstance 是的,这是可能的。
$program-name class-name
如何在Scala中实例化此类中的对象?换句话说,可以从类名中获取对象吗?因为可以调用scala中的所有java方法,所以可以调用
class.forName(classname)
因为可以调用scala中的所有java方法,所以可以调用class.forName(classname)
是的,这是可能的。例如:
Class.forName("java.lang.String").newInstance
是的,这是可能的。例如:
Class.forName("java.lang.String").newInstance
如何做相反的事情?如果我有一个对象,如何获取类名?@Nabegh-object.getClass.getName
val t=class.forName(“ClassName”)。newInstance
t.print()
这是无法编译的。类“ClassName”确实有一个print()@Nabegh方法-这很奇怪。但那个“ClassName”有“print”方法吗?@Nabeghval t=Class.forName(“ClassName”).newInstance.asInstanceOf[ClassName]
。问题是java反射会在很多地方返回Object
,如何做相反的事情呢?如果我有一个对象,如何获取类名?@Nabegh-object.getClass.getNameval t=class.forName(“ClassName”)。newInstance
t.print()
这是无法编译的。类“ClassName”确实有一个print()@Nabegh方法-这很奇怪。但那个“ClassName”有“print”方法吗?@Nabeghval t=Class.forName(“ClassName”).newInstance.asInstanceOf[ClassName]
。问题是java反射会在很多地方返回对象
。