我将创建一个Java控制台应用程序,该应用程序定义一个类,将其扩展为另外两个类,为所有三个类覆盖toString(),将这些类实例化为三个对象,在这些对象上调用toString()并打印出每个toString()调用的返回值。
该应用程序将实例化Course,FlexPathCourse和GuidedPathCourse中的三个对象,并调用它们对应的toString()方法。
我有下面的代码。但是对于FlexPathCourse.java和GuidedPathCourse.java,我在“ super(code1,hours,title1)”所在的位置收到一条错误消息“类对象中的构造方法对象无法应用于给定类型”。您能解释一下这意味着什么以及我应该怎么做吗?先感谢您。
Main Class
public class U1A1_InheritOverridetoString {
public static void main(String[] args) {
Course c1 = new Course("TBD", 3, "TBD");
FlexPathCourse c2 = new FlexPathCourse("IT2230", 3, "Introduction to Database Systems");
GuidedPathCourse c3 = new GuidedPathCourse("ITFP4739", 3, "Mobile Cloud Computing Application Development");
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
}
}
Course.java
public class Course {
protected String code;
protected int creditHours;
protected String title;
public Course(String code1, int hours, String title1){
code = code1;
creditHours = hours;
title = title1;
}
@Override
public String toString(){
return "Java class name = 'Course' " + "Course Code = " + code;
}
}
FlexPathCourse.java
public class FlexPathCourse {
private String optionalResources;
public FlexPathCourse (String code1, int hours, String title1){
super(code1, hours, title1);
}
@Override
public String toString(){
return "Java class name = 'FlexPathCourse' " + "Course Code = " + code;
}
}
GuidedPathCourse.java
public class GuidedPathCourse {
private String requiredResources;
private int duration;
public GuidedPathCourse(String code1, int hours, String title1){
super(code1, hours, title1);
}
@Override
public String toString(){
return "Java class name = 'GuidedPathCourse' " + "Course Code = " + code;
}
}
在您的GuidedPathCourse和FlexPathCourse中添加extends Course
如下所示:
public class GuidedPathCourse extends Course {
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句