地坪漆涂料:在java中如何正确使用内部类?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 06:34:14
这样写报错,请高手指点阿
class car
{
String carname;
window[] win;
private class window{
String winname;
window(){
}
public void abs()
{
System.out.println(winname);
}
}
car(String myname,int i)
{
this.carname = myname;
window[] pg = new window[i];
System.out.println(carname);
}
public static void main(String str1[]){
car a=new car("bmw",4);
a.win[0]=new window();
a.win[1]=new window();
a.win[2]=new window();
a.win[3]=new window();
a.win[0].winname="left";
a.win[1].winname="right";
a.win[3].winname="ahead";
a.win[4].winname="back";
for (int i = 0; i < a.win.length; i++){
a.win[i].abs();
}
}
}

内部类不能那样实例,要改成
a.win[0]=a.new window();
a.win[1]=a.new window();
a.win[2]=a.new window();
a.win[3]=a.new window();

class car{
String carname;
window[] win;

car(String myname, int i) {
this.carname = myname;
window[] pg = new window[i];
System.out.println(carname);
}

public static void main(String str1[]) {
car a = new car("bmw", 4);
a.win[0] = new window();
a.win[1] = new window();
a.win[2] = new window();
a.win[3] = new window();
a.win[0].winname = "left";
a.win[1].winname = "right";
a.win[3].winname = "ahead";
a.win[4].winname = "back";
for (int i = 0; i < a.win.length; i++ ) {
a.win[i].abs();
}
}
}

class window{
String winname;

window() {
}

public void abs() {
System.out.println(winname);
}
}