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”方法吗?@Nabegh
val t=Class.forName(“ClassName”).newInstance.asInstanceOf[ClassName]
。问题是java反射会在很多地方返回
Object
,如何做相反的事情呢?如果我有一个对象,如何获取类名?@Nabegh-object.getClass.getName
val t=class.forName(“ClassName”)。newInstance
t.print()
这是无法编译的。类“ClassName”确实有一个print()@Nabegh方法-这很奇怪。但那个“ClassName”有“print”方法吗?@Nabegh
val t=Class.forName(“ClassName”).newInstance.asInstanceOf[ClassName]
。问题是java反射会在很多地方返回
对象