问答详情
源自:4-7 学生选课—课程修改

创建课程新对象,填入id,name参数报错

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;

}

}


提问者:慕盖茨3336573 2019-08-19 21:15

个回答

  • 疯疯傻傻到天涯
    2019-08-21 17:02:56
    已采纳

    当类没有设置构造方法的时候,编译器会自动给提供一个构造方法,这个方法就是不带参数的构造方法;

    当你手动定义了一个构造方法后,编译器就不会再提供默认的构造方法了;

    如果你还需要一个不带参数的构造方法,需要自己手动写出来,明确这个不带参数的构造方法。

  • 慕盖茨3336573
    2019-08-21 15:48:58

    解决方法,重新新建一个不带参数的构造方法

  • 慕盖茨3336573
    2019-08-19 21:30:23

    经过尝试,是 构造方法的返回值类型写成了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();