老师布置的任务,但不知哪里出错,老师说未初始化,这是怎么回事,我是java新手,望大神指点!
你实例化一个类对象时候,系统会自动调用类中的构造方法,如果你没写,就是默认的无参构造方法。
你在代码里写了构造方法:
public Course(String str1,String str2,int x,String strt3){
}
很显然是四个参数的构造方法,但你在这行代码中:
Course s = new Course();
你实例化了一个Course类的对象s,但你没有传递Course该类的构造方法的四个参数,所以出错。
修改方法楼上已经说得很清楚。
一般是指一个对象变量为null,即没有调用过 new 类型();
你的构造函数有4个参数啊
Course s = new Course("123", "某某课程", 100, "某某专业");
你这是带构造参数的呀
在main函数中,创建一个Course类的对象s,会自动调用你编写的构造函数,你的构造函数中有四个形参str1,str2,x,str3,即你在调用这个函数时必须传进来相应数据,而你在new Course()括号中什么参数都没有,所以系统会报错。
或者你再加一个构造函数,函数体里面什么都不要写
public Course(){
}
这样就OK了
调用和创建的构造函数不一致,你不实现构造函数,系统会帮你实现默认不带参数的构造,一般自己实现下比较好,像上面说的 加个public Course(){
} 或者 给的构造函数把4个参数补齐
你的构造函数是一个有4个参数的,你可以创建一个无参的构造函数