Компиляторы выдают эти замечательные вещи, называемые сообщениями об ошибках. Да, их иногда трудно читать, но вы должны научиться их читать.
[[email protected] ~]$ javac CreateObjectDemo.java
CreateObjectDemo.java:28: error: cannot find symbol
public void move(Point newOrigin) {
^
symbol: class Point
location: class CreateObjectDemo
CreateObjectDemo.java:5: error: cannot find symbol
Point origin_one = new Point(23, 94);
^
symbol: class Point
location: class CreateObjectDemo
CreateObjectDemo.java:5: error: cannot find symbol
Point origin_one = new Point(23, 94);
^
symbol: class Point
location: class CreateObjectDemo
CreateObjectDemo.java:6: error: cannot find symbol
Rectangle rect_one = new Rectangle(origin_one, 100, 200);
^
symbol: class Rectangle
location: class CreateObjectDemo
CreateObjectDemo.java:6: error: cannot find symbol
Rectangle rect_one = new Rectangle(origin_one, 100, 200);
^
symbol: class Rectangle
location: class CreateObjectDemo
CreateObjectDemo.java:7: error: cannot find symbol
Rectangle rect_two = new Rectangle(50, 100);
^
symbol: class Rectangle
location: class CreateObjectDemo
CreateObjectDemo.java:7: error: cannot find symbol
Rectangle rect_two = new Rectangle(50, 100);
^
symbol: class Rectangle
location: class CreateObjectDemo
CreateObjectDemo.java:29: error: cannot find symbol
origin = newOrigin;
^
symbol: variable origin
location: class CreateObjectDemo
8 errors
У вас есть 8 ошибок в вышеуказанном классе. Вот почему он не будет компилироваться.
Номер ошибки 1:
CreateObjectDemo.java:28: error: cannot find symbol
public void move(Point newOrigin) {
^
symbol: class Point
location: class CreateObjectDemo
В строке 28, вы использовали класс, интерфейс или перечисление с именем Point
, не говоря компилятору, что Point
вы используете. Другими словами, вам не хватает оператора импорта для конкретного Point
, или иначе он не определил его в файле CreateObjectDemo.java
.
Ошибки 2 и 3:
symbol: class Point
location: class CreateObjectDemo
CreateObjectDemo.java:5: error: cannot find symbol
Point origin_one = new Point(23, 94);
^
symbol: class Point
location: class CreateObjectDemo
CreateObjectDemo.java:5: error: cannot find symbol
Point origin_one = new Point(23, 94);
^
symbol: class Point
location: class CreateObjectDemo
Опять же, вы используете эту Point
вещь. Используйте импорт, чтобы компилятор знал, где его найти.
Ошибки 4, 5, 6 и 7
symbol: class Rectangle
location: class CreateObjectDemo
CreateObjectDemo.java:6: error: cannot find symbol
Rectangle rect_one = new Rectangle(origin_one, 100, 200);
^
symbol: class Rectangle
location: class CreateObjectDemo
CreateObjectDemo.java:7: error: cannot find symbol
Rectangle rect_two = new Rectangle(50, 100);
^
symbol: class Rectangle
location: class CreateObjectDemo
CreateObjectDemo.java:7: error: cannot find symbol
Rectangle rect_two = new Rectangle(50, 100);
^
symbol: class Rectangle
location: class CreateObjectDemo
CreateObjectDemo.java:29: error: cannot find symbol
Такая же проблема, как Point
, но теперь вы используете неопределенный класс или интерфейс, называемый Rectangle
. Используйте оператор import, чтобы он дал понять, где компилятор должен искать это Rectangle
.
Ошибка 8:
CreateObjectDemo.java:29: error: cannot find symbol
origin = newOrigin;
^
symbol: variable origin
location: class CreateObjectDemo
Теперь вы используете переменную называется origin
, но вы никогда не сказали компилятору, что вы будете использовать origin
(или то, что он типа есть). Добавьте объявление Point origin;
где-нибудь перед использованием переменной origin
.
Ummm, потому что нет переменной называемое происхождение в сфере охвата? Довольно понятно. – OldProgrammer
Это мой первый день работы с Java, может кто-то объяснить, как я это делаю. – user2510694
'origin', вы никогда не определяете это, в классе – nachokk