主要看不懂他们之间怎么联系的或者说逻辑,还有就是这段代码
public student(String name)
{
this.name=name;
}
起到什么作用?为什么就写了一个name?code sexy duty为什么不写进去?
public class student
{
String name="";
String code="";
String sexy="";
String duty="";
double achievement;
public student(String name)
{
this.name=name;
}
void set(String name,String code,String sexy,String duty)
{
this.name=name;
this.code=code;
this.sexy=sexy;
this.duty=duty;
}
public String getname()
{
return name;
}
public String getcode()
{return code;
}
public String getsexy()
{return sexy;
}
public String getduty()
{return duty;}
public void setachi(double achievement)
{
this.achievement=achievement;
}
public double getachi()
{
return achievement;
}
public void print()
{
System.out.println("学生"+name+"的成绩是:"+achievement);
}
public String tostring()
{
String infor="学生姓名:"+name+";"+"学生学号:"+code+";"+"学生性别:"+sexy+";"+"学生职务:"+duty;
return infor;
}
public static void main(String[] args)
{
student st1=new student("王浩");
student st2=new student("李敏");
student st3=new student("李杰");
student st4=new student("王杰");
student st5=new student("王超");
student st6=new student("赵浩");
student st7=new student("钱浩");
student st8=new student("王松");
student st9=new student("朱涛");
student st10=new student("张杰");
student st11=new student("王敏");
student st12=new student("孙洁");
student st13=new student("赵丽");
student st14=new student("王丽");
student st15=new student("钱珍");
student st16=new student("王珍");
student st17=new student("王萍");
student st18=new student("钱萍");
student st19=new student("王燕");
student st20=new student("赵燕");
student st21=new student("孙燕");
student st22=new student("孙丽");
student st23=new student("林丽");
student st24=new student("张丽");
student st25=new student("郑丽");
student[]st=new student[]{st1,st2,st3,st4,st5,st6,st7,st8,st9,st10,st11,st12,st13,st14,st15,st16,st17,st18,st19,st20,st21,st22,st23,st24,st25};
st1.set("王浩","1","男","班员");
st2.set("李敏","2","男","班员");
st3.set("李杰","3","男","班员");
st4.set("王杰","4","男","班员");
st5.set("王超","5","男","班员");
st6.set("赵浩","6","男","班员");
st7.set("钱浩","7","男","班员");
st8.set("王松","8","男","班员");
st9.set("朱涛","9","男","班员");
st10.set("张杰","10","男","班长");
st11.set("王敏","11","女","班员");
st12.set("孙洁","12","女","班员");
st13.set("赵丽","13","女","班员");
st14.set("王丽","14","女","班员");
st15.set("钱珍","15","女","班员");
st16.set("王珍","16","女","班员");
st17.set("王萍","17","女","班员");
st18.set("钱萍","18","女","班员");
st19.set("王燕","19","女","班员");
st20.set("赵燕","20","女","班员");
st21.set("孙燕","21","女","班员");
st22.set("孙丽","22","女","班员");
st23.set("林丽","23","女","班员");
st24.set("张丽","24","女","班员");
st25.set("郑丽","25","女","班员");
System.out.println(st1.tostring());
System.out.println(st2.tostring());
System.out.println(st3.tostring());
System.out.println(st4.tostring());
System.out.println(st5.tostring());
System.out.println(st6.tostring());
System.out.println(st7.tostring());
System.out.println(st8.tostring());
System.out.println(st9.tostring());
System.out.println(st10.tostring());
System.out.println(st11.tostring());
System.out.println(st12.tostring());
System.out.println(st13.tostring());
System.out.println(st14.tostring());
System.out.println(st15.tostring());
System.out.println(st16.tostring());
System.out.println(st17.tostring());
System.out.println(st18.tostring());
System.out.println(st19.tostring());
System.out.println(st20.tostring());
System.out.println(st21.tostring());
System.out.println(st22.tostring());
System.out.println(st23.tostring());
System.out.println(st24.tostring());
System.out.println(st25.tostring());
st1.setachi(87.5);
st2.setachi(98);
st3.setachi(78);
st4.setachi(90);
st5.setachi(84);
st6.setachi(78);
st7.setachi(91);
st8.setachi(99.5);
st9.setachi(64);
st10.setachi(100);
st11.setachi(98);
st12.setachi(76);
st13.setachi(88);
st14.setachi(64);
st15.setachi(97);
st16.setachi(68);
st17.setachi(90);
st18.setachi(99);
st19.setachi(77);
st20.setachi(78);
st21.setachi(67);
st22.setachi(99);
st23.setachi(97.5);
st24.setachi(92);
st25.setachi(88);
st1.print();
st2.print();
st3.print();
st4.print();
st5.print();
st6.print();
st7.print();
st8.print();
st9.print();
st10.print();
st11.print();
st12.print();
st13.print();
st14.print();
st15.print();
st16.print();
st17.print();
st18.print();
st19.print();
st20.print();
st21.print();
st22.print();
st23.print();
st24.print();
st25.print();
for(int i=0;i<st.length;i++)
{
for(int j=0;j<st.length;j++)
{
if(st[i].achievement<st[j].achievement)
{
student x;
x=st[j];
st[j]=st[i];
st[i]=x;
}
}
}
System.out.println("成绩最好的是:"+st[24].name+",成绩是:"+st[24].achievement);
System.out.println("成绩最差的是:"+st[0].name+",成绩是:"+st[0].achievement);
}
}
public student(String name)
{
this.name=name;
}
起到什么作用?为什么就写了一个name?code sexy duty为什么不写进去?
public class student
{
String name="";
String code="";
String sexy="";
String duty="";
double achievement;
public student(String name)
{
this.name=name;
}
void set(String name,String code,String sexy,String duty)
{
this.name=name;
this.code=code;
this.sexy=sexy;
this.duty=duty;
}
public String getname()
{
return name;
}
public String getcode()
{return code;
}
public String getsexy()
{return sexy;
}
public String getduty()
{return duty;}
public void setachi(double achievement)
{
this.achievement=achievement;
}
public double getachi()
{
return achievement;
}
public void print()
{
System.out.println("学生"+name+"的成绩是:"+achievement);
}
public String tostring()
{
String infor="学生姓名:"+name+";"+"学生学号:"+code+";"+"学生性别:"+sexy+";"+"学生职务:"+duty;
return infor;
}
public static void main(String[] args)
{
student st1=new student("王浩");
student st2=new student("李敏");
student st3=new student("李杰");
student st4=new student("王杰");
student st5=new student("王超");
student st6=new student("赵浩");
student st7=new student("钱浩");
student st8=new student("王松");
student st9=new student("朱涛");
student st10=new student("张杰");
student st11=new student("王敏");
student st12=new student("孙洁");
student st13=new student("赵丽");
student st14=new student("王丽");
student st15=new student("钱珍");
student st16=new student("王珍");
student st17=new student("王萍");
student st18=new student("钱萍");
student st19=new student("王燕");
student st20=new student("赵燕");
student st21=new student("孙燕");
student st22=new student("孙丽");
student st23=new student("林丽");
student st24=new student("张丽");
student st25=new student("郑丽");
student[]st=new student[]{st1,st2,st3,st4,st5,st6,st7,st8,st9,st10,st11,st12,st13,st14,st15,st16,st17,st18,st19,st20,st21,st22,st23,st24,st25};
st1.set("王浩","1","男","班员");
st2.set("李敏","2","男","班员");
st3.set("李杰","3","男","班员");
st4.set("王杰","4","男","班员");
st5.set("王超","5","男","班员");
st6.set("赵浩","6","男","班员");
st7.set("钱浩","7","男","班员");
st8.set("王松","8","男","班员");
st9.set("朱涛","9","男","班员");
st10.set("张杰","10","男","班长");
st11.set("王敏","11","女","班员");
st12.set("孙洁","12","女","班员");
st13.set("赵丽","13","女","班员");
st14.set("王丽","14","女","班员");
st15.set("钱珍","15","女","班员");
st16.set("王珍","16","女","班员");
st17.set("王萍","17","女","班员");
st18.set("钱萍","18","女","班员");
st19.set("王燕","19","女","班员");
st20.set("赵燕","20","女","班员");
st21.set("孙燕","21","女","班员");
st22.set("孙丽","22","女","班员");
st23.set("林丽","23","女","班员");
st24.set("张丽","24","女","班员");
st25.set("郑丽","25","女","班员");
System.out.println(st1.tostring());
System.out.println(st2.tostring());
System.out.println(st3.tostring());
System.out.println(st4.tostring());
System.out.println(st5.tostring());
System.out.println(st6.tostring());
System.out.println(st7.tostring());
System.out.println(st8.tostring());
System.out.println(st9.tostring());
System.out.println(st10.tostring());
System.out.println(st11.tostring());
System.out.println(st12.tostring());
System.out.println(st13.tostring());
System.out.println(st14.tostring());
System.out.println(st15.tostring());
System.out.println(st16.tostring());
System.out.println(st17.tostring());
System.out.println(st18.tostring());
System.out.println(st19.tostring());
System.out.println(st20.tostring());
System.out.println(st21.tostring());
System.out.println(st22.tostring());
System.out.println(st23.tostring());
System.out.println(st24.tostring());
System.out.println(st25.tostring());
st1.setachi(87.5);
st2.setachi(98);
st3.setachi(78);
st4.setachi(90);
st5.setachi(84);
st6.setachi(78);
st7.setachi(91);
st8.setachi(99.5);
st9.setachi(64);
st10.setachi(100);
st11.setachi(98);
st12.setachi(76);
st13.setachi(88);
st14.setachi(64);
st15.setachi(97);
st16.setachi(68);
st17.setachi(90);
st18.setachi(99);
st19.setachi(77);
st20.setachi(78);
st21.setachi(67);
st22.setachi(99);
st23.setachi(97.5);
st24.setachi(92);
st25.setachi(88);
st1.print();
st2.print();
st3.print();
st4.print();
st5.print();
st6.print();
st7.print();
st8.print();
st9.print();
st10.print();
st11.print();
st12.print();
st13.print();
st14.print();
st15.print();
st16.print();
st17.print();
st18.print();
st19.print();
st20.print();
st21.print();
st22.print();
st23.print();
st24.print();
st25.print();
for(int i=0;i<st.length;i++)
{
for(int j=0;j<st.length;j++)
{
if(st[i].achievement<st[j].achievement)
{
student x;
x=st[j];
st[j]=st[i];
st[i]=x;
}
}
}
System.out.println("成绩最好的是:"+st[24].name+",成绩是:"+st[24].achievement);
System.out.println("成绩最差的是:"+st[0].name+",成绩是:"+st[0].achievement);
}
}
在 set(String name,String code,String sexy,String duty) 就可以设置code sexy duty 了
mian函数主要就是生成了20多个学生实例 然后把相关信息打出来其实功能就这么简单的呀
{
this.name=name; //name 是参数传递进来的那个name,this.name是类里的那个name,
}
起到什么作用?为什么就写了一个name?code sexy duty为什么不写进去?
通俗点说 作用就是给这个类的实例里的name赋值
student st1=new student("王浩"); st1里的name被赋值王浩code sexy duty当然也可以写进去 至于为什么没写就不清楚了 也许有了set(name,xxx……)可能他觉得构造函数里写这些多余了 但是一个student很显然 名字是最主要的 有了名字你就知道是哪个student了 但是给个sexy就不行 这个是从实际角度考虑的 只从代码上考虑也完全给个sexy作为构造函数的参数嘛
{
this.name=name;
}
起到什么作用?为什么就写了一个name?code sexy duty为什么不写进去? 这个有什么关系 也可以一个都没有 实例化之后在set就行了
class Demo{
int a,b,c;//成员变量
public Demo()
{} //构造方法1
public Demo(int a)
{ //构造方法2 this.a = a; }
public Demo(int a,int b) { //构造方法3
this.a = a; this.b = b; }
public Demo(int a,int b,int c) {//构造方法4
this.a = a; this.b = b; this.c = c; } }public class ConstructionOverload{
public static void main(String args[])
{ //应用第一种构造方法
Demo aDemo = new Demo();
System.out.println("方法一成员变量a:"+aDemo.a);
System.out.println("方法一成员变量b:"+aDemo.b);
System.out.println("方法一成员变量c:"+aDemo.c); //应用第二种构造方法
Demo bDemo = new Demo(1);
System.out.println("方法二成员变量a:"+bDemo.a);
System.out.println("方法二成员变量b:"+bDemo.b);
System.out.println("方法二成员变量c:"+bDemo.c); ……或许这个例子更能说明一切!就是构造函数啦,构造函数也能重载,函数名要与类名相同,可以认为是类的参数。
当实例化时,根据不同的类参数表列,选用不同的构造函数所给的参数。
public static void main(String[] args)
{
///构造出学生对象
student st1=new student("");
student st2=new student("");
student st3=new student("");
student st4=new student("");
student st5=new student("");
student st6=new student("");
student st7=new student("");
student st8=new student("");
student st9=new student("");
student st10=new student("");
student st11=new student("");
student st12=new student("");
student st13=new student("");
student st14=new student("");
student st15=new student("");
student st16=new student("");
student st17=new student("");
student st18=new student("");
student st19=new student("");
student st20=new student("");
student st21=new student("");
student st22=new student("");
student st23=new student("");
student st24=new student("");
student st25=new student("");
--------------------Configuration: <Default>--------------------
学生姓名:王浩;学生学号:1;学生性别:男;学生职务:班员
学生姓名:李敏;学生学号:2;学生性别:男;学生职务:班员
学生姓名:李杰;学生学号:3;学生性别:男;学生职务:班员
学生姓名:王杰;学生学号:4;学生性别:男;学生职务:班员
学生姓名:王超;学生学号:5;学生性别:男;学生职务:班员
学生姓名:赵浩;学生学号:6;学生性别:男;学生职务:班员
学生姓名:钱浩;学生学号:7;学生性别:男;学生职务:班员
学生姓名:王松;学生学号:8;学生性别:男;学生职务:班员
学生姓名:朱涛;学生学号:9;学生性别:男;学生职务:班员
学生姓名:张杰;学生学号:10;学生性别:男;学生职务:班长
学生姓名:王敏;学生学号:11;学生性别:女;学生职务:班员
学生姓名:孙洁;学生学号:12;学生性别:女;学生职务:班员
学生姓名:赵丽;学生学号:13;学生性别:女;学生职务:班员
学生姓名:王丽;学生学号:14;学生性别:女;学生职务:班员
学生姓名:钱珍;学生学号:15;学生性别:女;学生职务:班员
学生姓名:王珍;学生学号:16;学生性别:女;学生职务:班员
学生姓名:王萍;学生学号:17;学生性别:女;学生职务:班员
学生姓名:钱萍;学生学号:18;学生性别:女;学生职务:班员
学生姓赫糯?学生学号:19;学生性别:女;学生职务:班员
学生姓名:赵燕;学生学号:20;学生性别:女;学生职务:班员
学生姓名:孙燕;学生学号:21;学生性别:女;学生职务:班员
学生姓名:孙丽;学生学号:22;学生性别:女;学生职务:班员
学生姓名:林丽;学生学号:23;学生性别:女;学生职务:班员
学生姓名:张丽;学生学号:24;学生性别:女;学生职务:班员
学生姓名:郑丽;学生学号:25;学生性别:女;学生职务:班员
学生王浩的成绩是:87.5
String name="";
String code="";
String sexy="";
String duty="";
这里
这些让Eclipse自动生成就好了
{
this.name=name;
}就是给一个刚生成的student对象初始化,赋初值,改成下面你就会自然明白
public student(String stuName)
{
this.name=stuName;
}至于“为什么就写了一个name?code sexy duty为什么不写进去?”就搞不明白了,加进去也可以嘛!
{
this.name=name;
}
属性可以:构造初始化 和 set()/get()初始化 student st1=new student("王浩");
student st2=new student("李敏");
student st3=new student("李杰");
student st4=new student("王杰");
...
...
构造方法是一个入参String name,所以new对象时 例如student st1=new student("王浩"); 就只能只有一个实参
当然你也可以把code sexy duty写进去
public student(String name,String code,String sexy,String duty)
{
this.name=name;
this.code = code;
this.sexy = sexy;
this.duty = duty;
}这是student st1=new student("王浩");
student st2=new student("李敏");
...
就得改成student st1=new student("王浩","1","男","班员");
student st2=new student("李敏","2","女","班员");