慕盖茨3336573
2019-08-19 21:15
Course cr6 = new Course("3","java语言");
coursesToSelect.set(0, new Course("3","java语言");
这两种方式总是报错,提醒需要重新建对象,但看到视频里面老师按照第二行是可以直接套用的,为什么我这里不行啊,大家帮帮忙看一下
我的Course是这样写的
public class Course {
public String id;
public String name;
public void Course(String id, String name) {
this.id = id;
this.name = name;
}
}
当类没有设置构造方法的时候,编译器会自动给提供一个构造方法,这个方法就是不带参数的构造方法;
当你手动定义了一个构造方法后,编译器就不会再提供默认的构造方法了;
如果你还需要一个不带参数的构造方法,需要自己手动写出来,明确这个不带参数的构造方法。
解决方法,重新新建一个不带参数的构造方法
经过尝试,是 构造方法的返回值类型写成了void,改成
public class Course {
public String id;
public String name;
public Course(String id, String name) {
this.id = id;
this.name = name;
}
}
这样之后就可以添加参数了,但是问题来了,为什么又不能使用如下不带参数的构造方法了呢?但视频中可以用的啊?
Course cr6 = new Course();
Java入门第三季
409792 学习 · 4340 问题
相似问题