假设我有一个具体的类Class1,我正在用它创建一个匿名类。
Object a = new Class1(){
void someNewMethod(){
}
};
现在有没有办法重载这个匿名类的构造函数。如下图所示
Object a = new Class1(){
void someNewMethod(){
}
public XXXXXXXX(int a){
super();
System.out.println(a);
}
};
用xxxxxxxx来命名构造函数?
我知道这个帖子太老了,不能发表答案。但我仍然认为这是值得的。
虽然不能使用显式构造函数,但如果您的意图是调用超类的一个可能受保护的构造函数,那么您必须执行以下操作。
StoredProcedure sp = new StoredProcedure(datasource, spName) {
{// init code if there are any}
};
这是一个通过传递DataSource和String对象在Spring中创建StoredProcedure对象的示例。
所以底线是,如果你想创建一个匿名类,并想调用超类构造函数,那么就创建一个签名与超类构造函数匹配的匿名类。
我知道这个帖子太老了,不能发表答案。但我仍然认为这是值得的。
虽然不能使用显式构造函数,但如果您的意图是调用超类的一个可能受保护的构造函数,那么您必须执行以下操作。
StoredProcedure sp = new StoredProcedure(datasource, spName) {
{// init code if there are any}
};
这是一个通过传递DataSource和String对象在Spring中创建StoredProcedure对象的示例。
所以底线是,如果你想创建一个匿名类,并想调用超类构造函数,那么就创建一个签名与超类构造函数匹配的匿名类。