嗨我有问题将字符串讲师名称添加到我为coursename制作的现有课程中你可以帮我修复错误 - 这给了我8个错误
import java.util.Scanner;
公共类GradeBook {
private String courseName, instructorName;
public GradeBook ( String name )
{
courseName = name;
}
public GradeBook ( String name )
{
instructorName = name;
}
public void setCourseName ( String name )
{
CourseName = name;
}
public void setInstructorName ( String name )
{
InstructorName = name;
}
public void getCourseName ( String name )
{
return courseName;
}
public void getInstructorName ( String name )
{
return instructorName;
}
public void displayMessage();
{
System.out.printf( "Welcome to the grade book for\n%s!\n\n",
getCourseName() );
System.out.printf( "Your instructor for this course is\n%s!\n\n",
getCourseName() );
}
}
答案 0 :(得分:4)
From the Java Language Specification
使用声明两个构造函数是编译时错误 类中的覆盖等效签名(第8.4.2节)。
和
如果两个方法[或构造函数]具有相同的名称,则它们具有相同的签名 参数类型。
在您的情况下,您有两个构造函数,它们采用String
类型的一个参数。换句话说,您有两个具有相同签名的构造函数,编译器将不允许这样做。
使用一个带有两个String
参数的构造函数或使用setter。
答案 1 :(得分:0)
public GradeBook ( String name )
{
courseName = name;
}
public GradeBook ( String name )
{
instructorName = name;
}
虽然您在构造函数中为2个不同的实例变量赋值,但对于JVM,它具有相同的签名。您不能拥有2个具有相同签名的构造函数。 您必须创建一个构造函数,该构造函数请求2个参数或为两个实例变量分配相同的值
public GradeBook ( String cName, String iName )
{
courseName = cName;
instructorName = iName;
}