Viele sehr elementare Fragen, die früher oder später in den entsprechenden Tutorials beantwortet werden würden. Aber kurz:
Vielleicht sollte man erwähnen, dass beim importieren nicht wirklich „etwas passiert“. Also, es ist NICHT so, dass damit irgendwas irgendwo hin kopiert wird. Es ist vielmehr ein Hinweis darauf, was man in dieser Klasse alles verwendet. Die allgemeine Struktur von Java, dass Classes in Packages liegen, hast du vielleicht schon mitbekommen.
Und wenn man jetzt in seinem Programm z.B. einen JFrame
erstellen will (also ein Fenster - eine GUI-Komponente), dann schreibt man eben
import javax.swing.JFrame;
class Application
{
public static void main( String[] args )
{
JFrame frame = ...;
}
}
Man KANN auch ganz ohne imports arbeiten, indem man immer den „voll qualifizierten“ Namen angibt, der aus Packagename und Klassenname besteht:
class Application
{
public static void main( String[] args )
{
javax.swing.JFrame frame = ...;
}
}
Aber das macht man selten. Eigentlich nur, wenn man Namenskonflikte auflösen muss.
(BTW: Klassen aus dem package java.lang
muss man dort nicht explizit aufführen)
Die Frage klingt … überraschend, wenn man es nicht anders kennt. „Ja…äh…wenn du sie brauchst?!“ wäre schon fast eine akzeptable Antwort
Java ist eben (wie etwa C, C++ und viele andere) eine stark getypte Sprache. D.h. ALLE Variablen haben einen bestimmten Typ. Wo man in anderen Sprachen sowas schreiben kann wie
var value = 32;
value = "Hallo";
value = 1.234;
geht das in Java eben nicht - man muss den Typ verwenden, den diese Variable haben soll. Wenn man z.B. etwas hat, was immer eine ganze Zahl sein soll, dann nimmt man meistens „int“:
int value = 32;
value = "Hallo"; // Geht nicht: "Hallo" ist keine ganze Zahl
value = 1.234; // Geht nicht: 1.234 ist keine ganze Zahl
Doch. Die kann man selbst definieren, oder vorderfinierte Funktionen aus einer Klasse verwenden…
class Application
{
public static void main( String[] args )
{
int x = meineFunktion(); // x ist jetzt 42
double y = Math.sqrt(x); // y ist jetzt die Wurzel aus 42
}
private static int meineFunktion()
{
return 42;
}
}
Genau. Da stehen die Kommandozeilenargumente drin, die beim Start des Programms angegeben wurden. (Wenn keine angegeben wurden, ist der Array leer - d.h. args.length
ist dann 0)
Nein. Die main ist DER eine definierte Einstiegspunkt, wo alles anfängt, wenn man das Programm mit
java MeinProgramm
started (oder den „Run“-Button in der IDE klickt). Der ist immer gleich.
Da ist nicht ganz klar, worauf sich das bezieht. Vielleicht würde ein PHP-Beispiel mit Erklärung helfen. Oder jemand kennt PHP, und weiß, was damit gemeint ist…