2015-10-06 47 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(); 
} 

你的錯誤會消退然後