Also ich versuche, eine Reihe von Datentypen, die Person in einer Datei untergegliedert sind. Der folgende Code hat keine Kompilierungsfehler, aber wenn ich eine andere Datei zum Testen des Codes erstelle, wird er nicht kompiliert, weil er sagt, dass alle Subtypen nicht deklariert sind.Subtyping in einer einzigen Datei Java?
package people;
public abstract class Person {
public interface Teacher {
}
public class Professor implements Teacher {
}
public class Student {
}
public class TeachingAssistant extends Student implements Teacher {
}
}
Dies ist die Testklasse, und es zeigt die roten Linien unter Lehrer, Professor, und TeachingAssistant. Ich verstehe nicht, warum es nicht funktioniert.
package people;
/**
*
* @author Alex
*/
public class Edutypes {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
testTypes();
}
public static void testTypes() {
Person a = new Professor(), b=new Student(), c=new TeachingAssistant();
System.out.println(a);
System.out.println(b);
System.out.println(c);
Teacher d = new Professor(), e=new TeachingAssistant();
System.out.println(d);
System.out.println(e);
}
}
Ich bekomme es wirklich nicht, kann jemand helfen?
Sie benötigen eine Instanz der abstrakten Klasse, um Ihre ** inneren ** Klassen zu instanziieren. Und seltsamerweise ist "Professor" keine "Person". –