Die meisten Programme, die ich sehe, haben die Hauptmethode in einer öffentlichen Klasse, im Gegensatz zu einer Klasse ohne Modifizierer. zB:Gibt es einen wirklichen Grund, Java main in einer öffentlichen Klasse zu haben?
public class Main
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}
statt
class Main
{
public static void main(String[] args)
{
System.out.println("Hello, World!");
}
}
Von dem, was ich lese, ist der einzige Grund, die Klasse explizit öffentlich zu haben, ist es sichtbar Klassen außerhalb ihres eigenen Paket zu machen.
Die Aufgabe von main ist lediglich, als ein Plugin zu Ihrer eigentlichen Programm-API zu fungieren, die leicht mit jeder anderen Klasse mit Main ausgetauscht werden kann (GUIs/CUIs ändern sich ständig und müssen als Wegwerfartikel ausgelegt sein) .
Wenn ich nicht beabsichtige, dass die Klasse für andere Java-Klassen sichtbar ist; und wenn ich es brauche, kann ich eine neue Containerklasse für eine neue Hauptdatei erstellen, die weiß, dass sie von anderen Klassen verwendet werden kann, und sie wäre öffentlich.
Gibt es irgendeinen Grund, Containerklassen für das Haupt "public" standardmäßig zu machen, außer Leuten beizubringen, ihre Klassen genauso zu benennen wie die Klasse darin (was nicht erzwungen wird, wenn Sie public auslassen und Verwirrung stiften) "Warum produziert Foo.java Main.class?")?
stört es Sie wirklich nach 10 Jahren schreiben Programme? – AdamSkywalker
Guter Punkt krank entfernen Sie es. – Dmitry
Ich würde nur aus Gründen der Sauberkeit sagen ... – XavCo7