Java-import-Paket-Fehler
Hallo, ich bin Herumspielen mit der Erstellung von java-Paketen.
Ich erstellte ein Paket in einem Ordner namens admin mit einer Datei namens Mitarbeiter - diese richtig kompiliert. Außerhalb dieses Paket habe ich noch eine java-Datei, importieren diese. Hier ist der Quellcode.
import java.util.*;
//this works --> import admin.Employee;
import admin.*; //this doesn't
public class Hello {
public static void main(String[] args) {
Employee h = new Employee("James", 20000);
System.out.println(h.getName());
}
}
Komisch ist, dass die zweite import-Anweisung funktioniert gut, aber mit dem Dritten habe ich bekommen
- zugreifen können
Employee
- bad class file:
./Employee.class
Ich bin einfach mit javac Hello.java zum kompilieren
die employee-Klasse wird in den Paket-admin. Die Struktur ist
Ordner "admin" -> mit "Employee.class" und "Employee.java"
außerhalb dieser Ordner ist der hello.java Datei.
package admin;
import java.util.*;
public class Employee
{
private static int nextId;
private int id;
private String name = "";
private double salary;
//static initialization block
static
{
Random generator = new Random();
//set nextId to a random number between 0 and 9999
nextId = generator.nextInt(10000);
}
//object initialization block
{
id = nextId;
nextId++;
}
//three overloaded constructors
public Employee(String n, double s)
{
name = n;
salary = s;
}
public Employee(double s)
{
//calls the Employee(String, double) constructor
this("Employee #" + nextId, s);
}
//Default constructor
public Employee()
{
//name initialized to ""--see below
//salary not explicityl set--initialized to 0
//id initialized in initialization block
}
public String getName()
{
return name;
}
public double getSalary()
{
return salary;
}
public int getId()
{
return id;
}
}
Machen Sie die Klasse Mitarbeiter öffentlichkeit?
was ist die zugriffsspezifizierer für
Können Sie uns zeigen, den source-code von
Danke Jungs, ich bearbeitete Sie nun mit der Employee-source-code im Lieferumfang enthalten
Kleinschreibung Datei-Pfade; vielleicht employee.java ich.o. Employee.java?
was ist die zugriffsspezifizierer für
Employee
Klasse?Können Sie uns zeigen, den source-code von
Employee
Ihre package-Struktur und wie sind Sie mit dem kompilieren der Dateien ?Danke Jungs, ich bearbeitete Sie nun mit der Employee-source-code im Lieferumfang enthalten
Kleinschreibung Datei-Pfade; vielleicht employee.java ich.o. Employee.java?
InformationsquelleAutor jimbo123 | 2013-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
auch
Employee.java
sollte im Verzeichnisadmin
. e.gInformationsquelleAutor Ilya
Ohne dass sich der code (ohne hinzufügen von Paket-Deklarationen, die ist, was ich denke, die Frage wurde wirklich gefragt), die basic fix wäre entweder:
Wenn Sie es sagen importieren admin.Mitarbeiter, und es ist in den gleichen Ordner Quelle, der compiler kann daraus schließen, Sie wollen, dass implizit zusammengestellt. Beim importieren admin.*, Sie müssen das .java-Datei auf der Befehl-Linie, oder auch Klassenpfad zu den .Klasse Datei, für die es zu kompilieren.
InformationsquelleAutor user1676075