开始Java
有人可以打破这里发生的事吗
protected Class<?>[] getServletConfigClasses() {
// TODO Auto-generated method stub
return new Class[] {
WebApplicationContextConfig.class
};
}
我的理解是这是一个方法,它希望它返回一个未知类型的Class对象数组
但回报是什么? 没有构造函数及其实现块的匿名Class对象数组的实例化?
进一步阅读的名称是什么?我似乎无法找到这个主题领域?
答案 0 :(得分:2)
没有匿名的Class对象。 Class
是一个与任何其他类似的java类,但其名称必然会混淆Java初学者。
声明
return new Class[] {
WebApplicationContextConfig.class
};
相当于
Class [] result = new Class[1];
result[0] = WebApplicationContextConfig.class;
return result;
WebApplicationContextConfig.class
被称为class literal,here是对它们的一些讨论。
答案 1 :(得分:1)
这是一个使用默认值声明的数组。在Java中,它是制作数组的简便方法。
String[] names = {"Arvind","Aarav"}; // initialization
现在重新分配一个全新的阵列。
names = new String[]{"Rajesh","Amit","Mahesh"}; //re-initalization
与方法相同,我们说,返回星期几
public String[] weekdays(){
String[]days={"Sun","Mon","Tue"};
return days;
}
OR
public String[] weekdays(){
return new String[]{"Sun","Mon","Tue"};
}
现在约为Class[]
,对于类型Class
,可能的值为null
和SomeClassName.class
。
Class stringClass = String.class;
Class[] moreClasses = {Long.class, Boolean.class, java.util.Date.class};
答案 2 :(得分:0)
它只是声明一个Class数组并用一个元素初始化它(WebApplicationContextConfig的类定义)
答案 3 :(得分:0)
是通配符类型的数组。有关详情,请参阅http://dev.apollodata.com/react/redux.html
答案 4 :(得分:0)
这是一个数组初始值设定项。当你说
new Something[] { x1, x2, x3 }
它创建了一个Something
类的新数组,并将值初始化为花括号中的任何值。新数组的长度是值的数量。
我认为你可能会用一种非常相似的语法来混淆它:
new Something() { class declarations, method overrides, etc. }
这个创建了一个Something
的匿名子类,并且它用于创建实现接口的匿名子类。它与数组初始化器语法完全没有关系,即使外观非常接近。