代码示例:
public class Foo
{
public class Bar
{
public void printMesg(String body)
{
System.out.println(body);
}
}
public static void main(String[] args)
{
// Creating new instance of 'Bar' using Class.forname - how?
}
}
是否可以创建名称为Bar的类的新实例?我尝试使用:
Class c = Class.forName("Foo$Bar")
它找到该类,但是当我使用c.newInstance()时,它将引发InstantiationException。
您需要跳过几个步骤才能做到这一点。首先,您需要使用Class.getConstructor()查找Constructor
要调用的对象:
返回一个构造函数对象,该对象反映此Class对象表示的类的指定公共构造函数。parameterTypes参数是Class对象的数组,这些Class对象按声明的顺序标识构造html" target="_blank">函数的形式参数类型。
如果此Class对象表示在非静态上下文中声明的内部类,则形式参数类型包括显式的封闭实例作为第一个参数。
然后您使用Constructor.newInstance():
如果构造函数的声明类是非静态上下文中的内部类,则构造函数的第一个参数必须是封闭的实例
问题内容: 我正在尝试在Spark中实现K最近邻算法。我想知道是否可以使用嵌套的RDD。这将使我的生活更加轻松。考虑以下代码片段。 目前,此嵌套设置出现错误(我可以在此处发布完整日志)。可以放拳头吗?谢谢 问题答案: 不,这是不可能的,因为RDD的项必须可序列化,而RDD不可序列化。这是有道理的,否则您可能会通过网络传输整个RDD,如果其中包含大量数据,这将是一个问题。如果它不包含很多数据,则可能
问题内容: 我正在做一个小实验,尝试为嵌套div替换背景颜色。 这是我打算实现的(没有内联样式): 我觉得我一定缺少明显的东西!我尝试过,但这似乎仅适用于一个级别。 这是针对生成div的实验,因此解决方案需要是无止境的(不是沿着div div div div div = white的界线)。我知道使用JavaScript非常简单,只需 寻找纯CSS解决方案即可 。 问题答案: 正如Lister先生
在Oracle的Java教程中,我找到了以下文本: 与类方法和变量一样,静态嵌套类与其外部类关联。和静态类方法一样,静态嵌套类不能直接引用其封闭类中定义的实例变量或方法--它只能通过对象引用来使用它们。 注意:一个静态嵌套类与它的外部类(和其他类)的实例成员交互,就像任何其他顶级类一样。实际上,静态嵌套类在行为上是一个顶级类,为了方便打包,它已经嵌套在另一个顶级类中。 我认为不可能实例化一个静态类
问题内容: 如何在Python中使类或方法抽象? 我尝试像这样重新定义: 但是现在,如果我创建一个像这样继承的类: 那么我也无法实例化,因为它调用了其超类的方法。 有没有更好的方法来定义抽象类? 问题答案: 使用该模块创建抽象类。使用装饰器来声明方法摘要,并根据您的Python版本使用以下三种方式之一声明类摘要。 在Python 3.4及更高版本中,您可以从继承。在Python的早期版本中,您需要
嗨,我只是想知道有没有可能创建一个通用类来确认ObserveObject协议,它可以被多个ContentView使用。 如果我能做到这一点,那么我将能够使我的ContentView和Model类完全通用和可重用。 我希望实现的一个例子: 如果我能做到这一点,任何类都可以实现ContentViewModelType,并成为ContentView的模型,使其通用且可重用。举个例子 但是当我尝试初始化C
问题内容: 我不确定这是什么技术术语,但请考虑一个接口: 然后是第二个界面: 是否可以将第二个接口设计为仅需要一个通用参数,然后使doSomethingRelated方法隐式提取其声明中的返回类型。这是不合法的,但这是我想知道是否可以通过其他方式完成: 编辑(关于赏金发布):在这一点上,我正在寻找的是语言需要这种重复的原因。直到现在,答案一直都没有得到答案。 问题答案: