当前位置: 代码迷 >> J2SE >> 怎么为已封装的构造类中的数组赋值并打印
  详细解决方案

怎么为已封装的构造类中的数组赋值并打印

热度:6   发布时间:2016-04-23 20:01:25.0
如何为已封装的构造类中的数组赋值并打印
初学java 望大神赐教  用set方法   构造保持原有的封装状态


class Leisss{

private String name;
private Leisss(String a){

this.name=a;
}
public void setname(String ss){
this.name=ss;
}

public String getname(){
return this.name;
}


static Leisss shuzu[]=new Leisss[3];

public static Leisss getdx(){
return shuzu[3];
}


}
public class gzjjj {

public static void main(String args[]){


Leisss dx=Leisss.getdx();
//错误代码
dx[0]=new dx.setname("sss");



}

}

------解决思路----------------------
package var;
class Leisss{
private String name;
public void setname(String ss){
this.name=ss;
}

public String getname(){
return this.name;
}

public Leisss(String a){
this.name=a;
}
static Leisss shuzu[]=new Leisss[3];
public static Leisss getdx(){
//return shuzu[3];  --这种写法是错误的  数组越界
return  shuzu[0];
}
//返回整个数组对象
public static Leisss[] getArr(){
return  shuzu;
}


}
public class gzjjj {
public static void main(String args[]){
/* Leisss dx=Leisss.getdx();
//错误代码
dx[0]=new dx.setname("sss");*/

//初始化数组信息
Leisss  lei1= new Leisss("wang");
Leisss  lei2= new Leisss("zhang");
Leisss  lei3= new Leisss("li");
Leisss.shuzu[0]=lei1;
Leisss.shuzu[1]=lei2;
Leisss.shuzu[2]=lei3;
//调用 getdx()方法获取某一个值信息
Leisss l=    Leisss.getdx();
System.out.println(l.getname());

//获取数组
Leisss   leiArr[] = Leisss.getArr();
for (Leisss leisss : leiArr) {
System.out.println(leisss.getname());
}
}

}
  相关解决方案