Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Was ich noch nicht ganz verstanden habe sind die public Klassen. Es besteht ja die Möglichkeit, mehrere Klassen in einer Klasse anzulegen. Jetzt besteht ja die Möglichkeit eine von z.B. zwei Klassen als "public" zu definieren. Warum kann man nur eine als "public" definieren und wo ist der Unterschied zu einer als "nicht public" definierten Klasse?
Mir ist schon klar, dass "public" soviel bedeutet, dass die Klasse auch von außen (d.h. von anderen Klassen) aufgerufen werden kann. Aber in meinem Programm kann ich auch als "nicht public" definierte Klassen von anderen Klassen im "selben" Projekt aufrufen!
Hat das "public" vllt nur Einfluss auf den gegenseitigen Zugriff unterschiedlicher Projekte?
wie soll man das denn bitte in der Forumsuche finden, mit welchen Schlüsselwörtern?
in der FAQ kann ich pesönlich das auch nicht finden, warum sollte so eine Spezialfrage dort auch erklärt werden?
oh, dass ist natürlich ein ganz einfacher Punkt allgemein zu public/ nicht public,
@deathbyaclown
wenn du den meinstest, dann sorry
aber gerade bei 2 Dateien in einer Klasse gibts da ja noch ein paar interessante Punkte,
wieso kann man mehrere package-sichtbare Klassen in einer Datei definieren, aber nicht mehrere public-Klassen?
Es darf in einer Quelldatei nur eine Klasse als public deklariert werden, da der Name der Quelldatei immer identisch mit dem Namen der public Klasse sein muss. Werden zwei Klassen als public deklariert, könnte der Compiler oder die VM die Datei/Klasse anhand des Namens nicht mehr finden und verbietet es deswegen.
weils die von SUN eben so machten....
wahr. gibts noch ne technische erklaerung - fuer mich reicht es dass es nun so ist und ich kann damit auch ausgesprochen gut leben !
Das ist nunmal Teil der Sprachspezifikation, d.h. schlaue Leute haben sich dazu einmal etwas gedacht.
Im Nachhinein kann man vermuten, dass man die Übersichtlichkeit der Sourcen verbessern wollte. Sobald man mehr als eine public Klasse in einer Datei stehen hat, kann man diese unabhängig von der Klasse benennen und schon gibts wieder Spaghetti zum Abendessen, weil jeder Tünnes 98 öffentliche Klassen in eine Datei pusemuckel.java packt ....