2013-08-06 5 views
1

Ошибка возникает при public class ModemTester под CableModem и DslModem. Я новичок в программировании и книге, Сэм изучает Java за 24 часа, я переживаю это упражнение, перечисляя 10.2-5, я не могу понять. Все вы, эксперты, наполняете меня своей мудростью^- ^. Thank YouНевозможно найти символ в Java 7 ООП

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(); 
    } 
} 
+3

Какой символ и какой номер строки? –

+2

* Сэм учит Java за 24 часа * -> Серьезно? Тогда как насчет этого - [Научитесь программированию через 10 лет] (http://norvig.com/21-days.html). Огромное различие да? Выберите хорошую книгу или следуйте инструкциям Oracle. Вышеупомянутая книга только смутит вас. –

+0

Поместите все файлы '.java' вместе в папку. Затем перейдите в это место, используя Terminal/CommandPrompt, а затем скомпилируйте с помощью 'javac * .java', используя' java ModemTester'. Это самый простой способ, которым я могу думать :-) –

ответ

0

являются классы в том же пакете/папке? Поскольку переменная speed является конфиденциальной, то есть она будет видна только ModemTester, если она находится в том же пакете, что и Modem.

Вы можете проверить это, установив int speed на номер public int speed и посмотреть, есть ли у вас ошибка.

+0

Насколько я знаю, они не находятся в одном пакете/папке. – Shio

0

Java не позволяет иметь более одного верхнего уровня общественного класса на файл

+0

Это не вызвало бы ошибку «can not find symbol». – arshajii

Смежные вопросы