2015-10-06 46 views
-1

我想打电话给在Student.java构造函数有两个参数如下:Java的构造函数的参数调用

public class InheritanceDemo { 

public static void main(String[] args) { 
    Student s = new Student(String SSname, int SSStudentID);} 
    s.writeOutput(); 
} 

Student.java

Person.java

public Person() { 
    name = "No name yet";  
} 
public Person (String initialName) { 
    name = initialName; 
} 
public String getName() { 
    return name; 
} 

这里Person.java是基类,Student.java是子类。我正在显示以下错误:

Multiple markers at this line (near `Student s = new Student(String SSname, int SSStudentID);` 
    - Syntax error on token "int", delete this 
    token 
    - SSStudentID cannot be resolved to a 
    variable 
    - String cannot be resolved to a variable 
    - Syntax error on token "SSname", delete 
    this token 

如何解决此问题?

+0

谢谢。这帮助了很多。 – lft93ryt

回答

2

当你调用一个方法(或构造函数),你应该通过实际值或变量:

变化:

Student s = new Student(String SSname, int SSStudentID); 

喜欢的东西:

Student s = new Student("SomeName", 1234); 

在那旁边,在您声明StudentIDname成员变量的地方,我没有看到您发布的代码。

Student类应该有(除了其当前的内容):

public class Student extends Person { 
    private int StudentID; 
} 

Person类应该有(除了其当前的内容):

public class Person { 
    private String name; 
} 
0

有一个语法主函数中的错误您需要在调用构造函数之外声明变量SSname and SStudentID

执行以下操作

public static void main(String[] args) 
{ Student s = new Student(String SSname, int SSStudentID);} 
s.writeOutput(); 
} 

public static void main(String[] args) 
{ 
String SSname = "your_name"; 
int SSStudentID=10; 
Student s = new Student(SSname,SSStudentID);} 
s.writeOutput(); 
} 

你的错误会消退然后