由于标识符,无法从Class调用方法

-1 java

我正在编写java编程并尝试测试它.在Class Card中,我有format()语句告诉它要返回什么.当我尝试在新创建的对象上使用此格式时,它会抛出卡中的format()无法应用于(卡)的错误.我不允许使用toString()语句作为赋值的一部分.请帮忙.以下是课程:

public class Card {
    private String name; 

    public Card() { 
        name = " "; 
    }

    public Card(String n) { 
        name = n; 
    } 

    public String getName() { 
        return name;
    }

    public boolean isExpired() { 
        return false;
    }

    public String format() { 
        return "Card holder: " + name; 
    } 
}
Run Code Online (Sandbox Code Playgroud)

这是测试文件

import java.io.IOException;

public class Lab12Test { 
    public static void main (String [] args) throws IOException {   
        Card q = new Card("John");
        System.out.println("Card Class: ");
        System.out.println(Card.format(q) + "\n"); 
    }
}
Run Code Online (Sandbox Code Playgroud)

Mig*_*ork 5

不确定你为什么Card.format(q)这么做,但你应该这样做:

q.format()
Run Code Online (Sandbox Code Playgroud)

Card.format(q)如果format是一个静态方法并将Card作为参数,你的方法不是,它将是一个实例方法.