猿问

关于java创建对象的解释,请问有了解的吗?

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自动生成的一段代码,请大虾们指教。

鸿蒙传说
浏览 183回答 2
2回答

胡说叔叔

这个是内部类的写法,你去找点关于内部类的资料就知道了。简单讲就是DefaultTableMode不可以直接实例化,要么是一个接口,要么是一个抽象类,你要实例化它,只能实例化其子类。这个时候你有两种方法:1.显式的继承(实现)它,常规方法2.内部类方式,就是你这里这种情况:new 接口名(抽象类名){...}这样编译器就会认为你实现(继承)了这个接口(抽象类),并立马实例化这个类的一个实例给你。具体还是找点资料吧,肯定比我讲的好。我也不去抄打一堆资料了,一下子看着也难受,大概给你提一点。

ibeautiful

类要实例化就是用NEW来进行实例化,类也就是实例化之后才能使用.
随时随地看视频慕课网APP
我要回答