尝试调用方法时语法错误在哪里?

时间:2014-06-13 19:15:06

标签: java

我是Java的初学者。我继承了一个学生班,即其他班级Datataking的学生。两者都在单独的文件中。我创建了Datataking类的对象并尝试通过对象访问takeData方法,但它给出了语法错误。语法错误是 StdData.takeData();。如何解决?

代码低于两个类。

Datataking上课:

    import java.util.Scanner;

    public class Datataking {

protected String FirstName, LastName, FatherName ;
protected Integer Id,Day,Month,Year;

void takeData()
{

    Scanner Input=new Scanner(System.in);

    System.out.print("Please Enter  Id = ");
    Id= Input.nextInt();

    System.out.println("Please Enter  First Name = ");
    FirstName = Input.nextLine();

    System.out.println("Please Enter  Last Name = ");
    LastName = Input.nextLine();

    System.out.println("Please Enter  Father Name = ");
    FatherName = Input.nextLine();

    System.out.println("Please Enter  Date Of Birth  ");

    System.out.print("Day = ");
    Day= Input.nextInt();

    System.out.println();

    System.out.print("Month = ");
    Month= Input.nextInt();

    System.out.println("Year = ");
    Year = Input.nextInt(); 
}

   /*###########################################*/

void printData()
{
    System.out.println("First Name = " + FirstName);

    System.out.println("Last Name = " + LastName);
    System.out.println("Father Name = " + FatherName);
    System.out.println("Date Of Birth = " + Day + "/" + Month + "/" + Year);

}


 }

Student上课:

   import java.util.Scanner;

   public class Student extends Datataking {

protected int Fee,ClassOfStudent;

Datataking StdData=new Datataking();

StdData.takeData();
    }

2 个答案:

答案 0 :(得分:0)

您需要在某个方法体中调用takeData(),而不是在类中。

答案 1 :(得分:0)

创建类时,可以定义变量和方法。你不能自己发表言论。陈述必须在方法内:

import java.util.Scanner;

public class Student extends Datataking {

    //variable declarations
    protected int Fee,ClassOfStudent;
    Datataking StdData=new Datataking();

    //method declarations
    //you have none

    //ILLEGAL (this is a statement)
    StdData.takeData();

}