有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中,如何在另一个类的静态方法中调用非静态方法?

我的一个班上有这种方法

@Override
public void liveFlights(int one, int two, int three, int four, int five,
                        int six, int seven, int eight, int nine, int ten, int eleven, int twelve) {
    System.out.println("There is "+counter+" flights at this moment ");

    System.out.println("England to Netherland at 12.00 pm "+one+"is flight number");
    System.out.println("Netherland to England at 12.00 pm "+two+"is flight");
    System.out.println("Turkey to USA at 06.00 pm "+three+"is flight number");

我想在这个静态方法中调用这个非静态方法(另一个类)

public static void searchResEntry() throws java.io.IOException  // start of method
{
    // variable declarations
    String Name;
    String Address;
    Scanner read = new Scanner(System.in);
    System.out.print("Please enter your following information for your reservation result:  \n");   // displaying the information to enter for searching a reservation

    System.out.print("  Enter Name  :   "); // displaying message to enter name
    Name = read.nextLine(); // prompt for the name
} 

有什么帮助吗


共 (1) 个答案

  1. # 1 楼答案

    将包含非静态方法的类的实例传递到静态方法

    public static void searchResEntry(YourClass instance) throws java.io.IOException    // start of method
        {
            // variable declarations
            instance.liveFlights(...);
    

    或在其中创建实例:

    public static void searchResEntry() throws java.io.IOException    // start of method
        {
            // variable declarations
            YourClass instance = new YourClass();
            instance.liveFlights(...);