-4

我正在关注本书中的一本书,给出的代码我试图编译它,但它显示错误,这里是代码 -

  class TapeDeck {
    boolean canRecord = false;

    void playTape() {
        System.out.println("tape recording");
    }

    void recording() {
        System.out.println("tape recording");
    }
}
class TapeDeckTestDrive {
    public static void main (String [] args) {
        TapeDeck t = new TapeDeck( );
        t.canRecord = true;
        t.play();

        if (t.canRecord == true) {
            t.recordTape();
        }
    }
} 

一个错误是....

    TapeDeck.java:16: error: cannot find symbol
                t.play();
                 ^
  symbol:   method play()
  location: variable t of type TapeDeck
TapeDeck.java:19: error: cannot find symbol
                        t.recordTape();
                         ^
  symbol:   method recordTape()
  location: variable t of type TapeDeck
2 errors
4

2 回答 2

0

这是因为play()不是 class 的方法TapeDeck。但是,您确实有以下方法:

void playTape() {
    System.out.println("tape recording");
}

如果这是您的意思,则更t.play()改为t.playTape(). 如果没有,您将需要play()TapeDeck.

于 2016-11-13T11:40:56.057 回答
0

你得到这个是因为你试图调用TapeDeck没有:play()recordTape(). 您所指的那本书很可能只是为了大小而没有显示实现。

您可以将这些方法添加到您的TapeDeck类中,或者将您正在调用的方法从您的 main 方法更改为您的TapeDeck类中已经存在的方法(playTape()recording())。

于 2016-11-13T11:46:57.287 回答