我知道C/C++/C#/ActionScript/PHP,并在它们中都有工作经验。就我所知,我们通常将对象初始化为
Object obj = new Object();
大多数情况下,Java都是这样做的,但昨天在使用Netbeans和JTable Swing控件时,IDE生成了这段代码,看起来对我来说有点奇怪。如何解释它是如何初始化一个对象的?new DefaultTableModel(..)后面的{..}部分是什么意思?
_model = new DefaultTableModel(
new Object [][] {
},
new String [] {
"Id", "Project Title", "Start Date", "Deadline", "Description", "PercentDone"
}) {
Class[] types = new Class [] {
java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false
};
@Override
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
@Override
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
};