java - 在 Java 7 OOP 中找不到符号

标签 java

该错误发生在 CableModemDslModem 下的 public class ModemTester 下。我是编程新手,这本书,Sam 在 24 小时内学会了 Java,我正在做这个练习, list 10.2-5,我无法弄清楚。你们所有的专家都让我充满智慧^-^。谢谢您

public class Modem {
    int speed;

    public void displaySpeed() {
        System.out.println("Speed: " + speed);
   }
}

public class CableModem extends Modem {
    String method = "cable connection";

    public void connect() {
        System.out.println("Connecting to the Internet.....");
        System.out.println("Using a " + method);
    }
}

public class DslModem extends Modem {
    String method = "DSL phone connection";

    public void connect() {
        System.out.println("Connecting to the Internet.....");
        System.out.println("Using a " + method);
    }
}

public class ModemTester {
   public static void main(String[] args) {
        CableModem surfBoard = new CableModem();
        DslModem gateway = new DslModem();
        surfBoard.speed = 500000;
        gateway.speed = 400000;
        System.out.println("Trying the cable modem:");
        surfBoard.displaySpeed();
        surfBoard.connect();
        System.out.println("Trying the DSL modem:");
        gateway.displaySpeed();
        gateway.connect();
    }
}

最佳答案

这些类是否位于同一个包/文件夹中?因为 speed 变量是包私有(private)的,这意味着只有当它与 Modem 位于同一包中时,它才对 ModemTester 可见。

您可以通过将 int speed 设置为 public int speed 来测试这一点,看看是否仍然出现错误。

关于java - 在 Java 7 OOP 中找不到符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18084761/

相关文章:

java - JTextField 添加到 JPopupMenu 时被禁用

java - 使用 sessionAsSigner 打开 pdf 文件

java - 如何在 Spring Boot 中初始化 JndiTemplate

java - 如何以编程方式配置 TransactionManager

java - Android:无法从扩展Thread的类中调用新 Activity

java - 在 Java 中,关闭父输入流是否也会关闭其子输入流?

Java游戏看起来运行很慢?

java Lanterna无法从终端读取输入

java - 将元素添加到 List<Map.Entry<Integer,Integer>>

java - 字符串转义实用程序 : How to unescape a string except emoji?