初学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());
}
}
}