【发布时间】:2016-05-27 02:09:28
【问题描述】:
我正在尝试为 HthsStudent 类创建一个构造函数,它从 Student 类继承变量和状态。 (学生从 Person 类继承变量和状态。)
问题是,java 不喜欢我尝试这样做的方式,并且一直告诉我我正在做的事情是错误的,即使这正是我在 Student 课堂上所做的事情。它告诉我有一个“无效的方法声明,需要返回类型”错误,但我看不到修复它的方法。
我做错了什么,我该如何解决?
谢谢!
/**
* Write a description of class Persn here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Person
{
String firstName;
String lastName;
public Person (String firstName, String lastName)
{
this.firstName = firstName;
this.lastName = lastName;
}
public String toString ()
{
return lastName + ", " + firstName;
}
}
/**
* Write a description of class Student here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Student extends Person
{
int gradeLevel;
private static int studentId = 0;
public Student (String firstName, String lastName, int gradeLevel)
{
super(firstName, lastName);
this.gradeLevel = gradeLevel;
if (gradeLevel > 5 || gradeLevel < 0)
{
gradeLevel = 0;
}
studentId = studentId + 1;
}
public int getLevel()
{
return gradeLevel;
}
public String toString ()
{
return lastName + ", " + firstName + "\nGrade Level: " + gradeLevel + "\nID #: " + studentId;
}
}
/**
* Write a description of class HTHSStudent here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class HTHSStudent extends Student
{
double gpa;
public HthsStudent (String firstName, String lastName, int gradeLevel, double gpa)
{
super(firstName, LastName, gradeLevel);
this.gpa = gpa;
if (gpa > 5.0 || gpa < 1.0)
{
gpa = 0.0;
}
}
public String toString()
{
return lastName + ", " + firstName + "\nGrade Level: " + gradeLevel + "\nID #: " + studentId + "\nGPA: " + gpa;
}
}
【问题讨论】:
-
"The problem is, java doesn't like the way I'm trying to do it, and keeps telling me that what I'm doing is wrong, even though it is exactly what I did in class Student."-- 什么错误信息?什么问题?请提出一个完整的问题。 -
这个静态的:
private static int studentId = 0;会在后面咬你。摆脱它。 -
创建者让 Java 足够合理地告诉你什么以及为什么它不喜欢某样东西。
标签: java parent-child bluej