String[] head = {"邮箱","密码"}; //表头信息//*************************************************DefaultTableModel dtf=new javax.swing.table.DefaultTableMode(head,0) {Class[] types = new Class [] {java.lang.String.class};boolean[] canEdit = new boolean [] {false};public Class getColumnClass(int columnIndex) {return types [columnIndex];}public boolean isCellEditable(int rowIndex, int columnIndex) {return canEdit [columnIndex];}};程序写到这new javax.swing.table.DefaultTableMode(head,0)我都明白head,0向构造方法中传递2个参数。那么new()后面跟的{}中的代码怎么解释。这是怎么个语法?这是Netbean自动生成的一段代码,请大虾们指教。
2 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
这个是内部类的写法,你去找点关于内部类的资料就知道了。简单讲就是DefaultTableMode不可以直接实例化,要么是一个接口,要么是一个抽象类,你要实例化它,只能实例化其子类。这个时候你有两种方法:
1.显式的继承(实现)它,常规方法
2.内部类方式,就是你这里这种情况:
new 接口名(抽象类名){
...
}
这样编译器就会认为你实现(继承)了这个接口(抽象类),并立马实例化这个类的一个实例给你。
具体还是找点资料吧,肯定比我讲的好。我也不去抄打一堆资料了,一下子看着也难受,大概给你提一点。
添加回答
举报
0/150
提交
取消