无法编译通过,没有相关的构造方法
确实是错的,不知道怎么改。。
原题是
定义一个表示学生的类Student,包括属性“学号”、“班级”、“姓名”、“性别”、“年龄”;一个成员方法showData,方法的功能是输出以上属性;用构造方法初始化对象的所有成员变量。主类Test中创建Student类的对象张三、李四,并调用showData方法输出结果。
话说,你要问的是什么??程序报错???你这里的两个构造函数不一样。你没重写有参构造函数,但是实例化Student类的时候又是调用的有参函数.而且你是在static方法中实例化Student类,所以你需要在你的内部类Student前面加上static
public class r {
public static void main(String[] args) {
Student zs = new Student("20170602342","软件","张三","男",20);
zs.output();
}
static class Student{
String xuehao,banji,name,sex;
int age;
public Student(String xh, String bj, String xm, String xb, int nl) {
// TODO Auto-generated constructor stub
xuehao=xh;
banji=bj;
name=xm;
sex=xb;
age=nl;
}
public void output() {
System.out.println("学生学号为: "+xuehao+"班级为"+banji+"姓名:"+name+"性别:"+sex+"年龄:"+age);
}
}
}
你那个代码:Student zs=new Student();括号里面不要填,因为你没有带参构造,你因该:zs.showData("20170602342","软件七班","张三","男",20);再zs.output();就可以了
你是来问问题的,那么,你的问题是什么?
你的student类里面没有带参构造函数,在执行main方法的时候是不能往里面进行传参数的,如果想要传参数参照楼上的代码
首先:一个类文件中不可以有两个public class
而且:没有相应的构造函数