服装店铺的设计理念:java高手请指点!!

来源:百度文库 编辑:高校问答 时间:2024/05/04 20:03:59
有两个类department,programe,和一个测试类test,如下:

public class department{
String depname;
department(String myname){
this.depname=myname;
System.out.printl(depname);
}
}
=====================================
public class Programmer{
String pmname;
Programmer(){
}
public void Programe(){
System.out.printl(pmname+" Programe");
}
}
=====================================
public class test extends department{
private int num;
Programmer[] pg;
test(String depname,int i){
super(depname);
this.num=i;
Programmer[] pg=new Programmer[i];
this.pg=pg;
}
public static void main(String str1[]){
test ocd=new test("over sea dept",2);
ocd.pg[0].pmname="jack";
ocd.pg[1].pmname="tom";
for(int i=0;i<ocd.pg.length;i++){
ocd.pg[i].Programe();
}
}
}

运行不通过,请指点。谢谢啦~~!!
test ocd = new test("over sea dept", 2);
这个类初始化的时候不是已经new了么?
Programmer[] pg = new Programmer[i];
为什么还要重新分配内存?请指教!谢谢

错误太多了,我给你改好了:
class department
{
String depname;

department(String myname)
{
this.depname = myname;
System.out.println(depname);
}
}

// =====================================
class Programmer
{
String pmname;

Programmer()
{
}

public void Programe()
{
System.out.println(pmname + " Programe");
}
}

// =====================================
public class test extends department
{
private int num;

Programmer[] pg;

test(String depname, int i)
{
super(depname);
this.num = i;
Programmer[] pg = new Programmer[i];
this.pg = pg;
}

public static void main(String str1[])
{
test ocd = new test("over sea dept", 2);
ocd.pg[0]=new Programmer();
ocd.pg[1]=new Programmer();
ocd.pg[0].pmname = "jack";
ocd.pg[1].pmname = "tom";
for (int i = 0; i < ocd.pg.length; i++)
{
ocd.pg[i].Programe();
}
}
}

可以放在一个test.java文件里,但只能有一个class是public ,且只有带主函数的class是public,也可以分成三个java文件,另外System.out.println函数你写成了printl了,少了个n,另外,数组的每个元素也是需要new个内存空间的,要不然就报空指针异常,你不信把
ocd.pg[0]=new Programmer();
ocd.pg[1]=new Programmer();
这两句话删掉试试,就会空指针异常了!