Können wir zwei Klasse mit dem gleichen Namen im gleichen Paket, aber unterschiedliche .java-Datei zu machen. Fehler ist: "Der Typ Knoten ist bereits definiert" hier Knoten ist mein Klassenname.können wir machen zwei gleiche Klasse mit dem gleichen Namen im gleichen Paket, aber unterschiedliche .java- Programme
Antwort
Das sieht wie eine teilweise Klassennutzung aus. Sie können es in .NET tun, nicht in JAVA, aber diese Klassen sind dieselbe Klasse in einer anderen Datei. Sehen Sie sich die Verwendung der partiellen Klasse an.
public partial class CoOrds
{
private int x;
private int y;
public CoOrds(int x, int y)
{
this.x = x;
this.y = y;
}
}
public partial class CoOrds
{
public void PrintCoOrds()
{
Console.WriteLine("CoOrds: {0},{1}", x, y);
}
}
class TestCoOrds
{
static void Main()
{
CoOrds myCoOrds = new CoOrds(10, 15);
myCoOrds.PrintCoOrds();
// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
// Output: CoOrds: 10,15
Das ist Java, keine Teilklassen dort. – Kayaman
Danke für Ihre Aufmerksamkeit ... –
Es ist technisch möglich. Aber nur, wenn Sie den Java-Quellcode (mit demselben Namen/Paket) in separate Quellbäume setzen und diese separat kompilieren.
Und wenn Sie dann die kompilierten Klassen (mit dem gleichen Namen/Paket) in einer Anwendung verwenden möchten, muss die Anwendung mehrere Klassenlader mit anderen Klassenpfaden und anderen funkigen Dingen verwenden.
Und dann führen Sie in alle möglichen merkwürdiges Verhalten; z.B. Ausnahmemeldungen wie "nicht foo.Bar
-foo.Bar
werfen können"
Do not go there. Es ist besser, verschiedene Klassennamen und/oder andere Paketnamen zu verwenden.
- 1. Composer zwei Pakete mit dem gleichen Paket unterschiedliche Version
- 2. Namespace und Klasse mit dem gleichen Namen?
- 3. Zwei generische Methoden mit dem gleichen Namen
- 4. zwei Schlüssel mit dem gleichen Namen "$ oder"
- 5. XSD Zwei Elemente mit dem gleichen Namen, aber unterschiedlichen Attributwert
- 6. Unity3D-Paketkonflikte mit dem Paket mit dem gleichen Namen
- 7. @SpringBootApplication im gleichen Paket?
- 8. nicht Klasse aus dem gleichen Paket
- 9. Postgres: zwei Wörterbücher mit dem gleichen Namen
- 10. Sellerieaufgaben mit dem gleichen Namen
- 11. Anzeigedaten mit dem gleichen Titel, aber unterschiedliche Inhalte
- 12. überschreiben Java-Methoden mit dem gleichen Namen
- 13. Cocoapods: Podfile Konflikte durch zwei Pods mit dem gleichen Namen, aber unterschiedliche Quelle
- 14. Funktionen mit anderen Namen aber gleichen Argumenten
- 15. android - das Paket Konflikt mit einem vorhandenen Paket mit dem gleichen Namen - aber es ist nicht
- 16. NEU: Das Paket Konflikt mit einem vorhandenen Paket mit dem gleichen Namen
- 17. Importieren Sie Klassen mit dem gleichen Namen
- 18. Erben einer Klasse mit dem gleichen Namen in Python
- 19. Sockel & Zugang zu vielen Klasse mit dem gleichen Namen
- 20. Jython überschreiben Methode mit dem gleichen Namen
- 21. zwei Tabellen mit der gleichen ID und dem gleichen Namen der Spalten aber verschiedene Werte verbinden
- 22. Laravel eloquent orderby zwei Felder mit dem gleichen Namen
- 23. Autoloading-Paket, das als importierte Klasse Klasse gleichen Namen enthält
- 24. Können wir zwei unterschiedliche Topologie für gleiche Themen in kafka
- 25. zwei Factory-Klasse verschiedene Interface-Instanzen mit dem gleichen condtion
- 26. Warum geben wir Parametern der gleichen Methode an verschiedenen Stellen im Programm unterschiedliche Namen?
- 27. Wie zwei HashMaps mit gleichen Schlüssel sortieren, aber unterschiedliche Werte
- 28. Zwei fast genau die gleichen Programme, aber unterschiedlicher Ausgang
- 29. Wie isoliert man zwei C++ Klassen mit dem gleichen Namen?
- 30. Variable und Funktion mit dem gleichen Namen
Warum benannt haben Sie zwei Klassen 'Node' im selben Paket? – Kayaman
Sie müssen das Paket auf der Liste ändern, sonst wird jvm verwirrt, wenn Sie den Knoten verwenden möchten, wenn er von jemandem angefordert wird. –