Вопрос:
- Я не могу выполнить классы, которые расширяют другие классы. Я считаю, что это связано с тем, как я объявляю путь к классу. Я выполняю ниже через терминал. Любое руководство было бы потрясающим. Спасибо!
Классы:
- Паукообразный -> Родитель
- Паук -> Подкласс паукообразного
- GardenSpider -> Подкласс паука
Каталог:
Весь код выполняется из родительского каталога (я вижу bin и sr c).
.
├── bin
│ ├── Arachnid.class
│ ├── GardenSpider.class
│ └── Spider.class
└── src
├── Arachnid.java
├── GardenSpider.java
└── Spider.java
Классы: 1. Паукообразный
// Chapter 6 : 6
/*
This is a superclass
*/
public class Arachnid {
/*
* Constructor
*/
public Arachnid () {
System.out.printf("%s%n%n", "Executing Arachnid constructor");
}
public static void main(String[] args) {
Arachnid a = new Arachnid(); // create Arachnid object
}
}
2. Паук
// Chapter 6 : 6
/*
* This is a subclass - inherits all protected and public members from parent (field, methods, and nested classed)
*/
public class Spider extends Arachnid{
/*
* Constructor
*/
public Spider () {
System.out.printf("%s%n%n", "Executing Spider constructor");
}
public static void main(String[] args) {
Spider a = new Spider(); // create spider object
}
}
3. Сад Spider
// Chapter 6 : 6
/*
This is a subclass
*/
public class GardenSpider extends Spider{
/*
* Constructor
*/
public GardenSpider () {
System.out.printf("%s%n%n", "Executing GardenSpider constructor");
}
public static void main(String[] args) {
GardenSpider gs = new GardenSpider(); // create garden spider object
}
}
Компиляция классов
- javac -d bin src /*.java
Выполнение классов: 1. java -cp bin / Arachnid.class src /Arachnid.java
Executing Arachnid constructor
2. java -cp bin / Arachnid.class: bin / Spider.class src / Spider. java
src/Spider.java:7: error: cannot find symbol
public class Spider extends Arachnid{
^
symbol: class Arachnid
1 error
error: compilation failed
3. java -cp bin / Arachnid.class: bin / Spider.class: bin / GardenSpider.class src / GardenSpider. java
src/GardenSpider.java:6: error: cannot find symbol
public class GardenSpider extends Spider{
^
symbol: class Spider
1 error
error: compilation failed
Ссылки:
- Что означает «Не удалось найти или загрузить основной класс» ?
Примечания:
bin/*
сокращенная опция для использования при объявлении путей к классам - Разделитель классов:
- FQN должен использоваться для передачи classpath
- Вам не нужно. java при выполнении (если вы делаете это правильно?)
FQN:
- / Users / hw_2 / src / *. classes
- / Usershw_2 / src /*.java
FQN Пример:
- java -cp /Users/hw/hw_2/bin/Arachnid.class src / Arachnid. java