Moin,
seit einigen tagen befasse ich mich mit Java (wie andere auch wie ich sehe).
Okay, oder auch nicht. Ist das dein erster Kontakt mit Programmierung/Softwareentwicklung?
Wichtig ist in erster Linie nicht die Sprache, sondern die Konzepte dahinter.
Ich begreife eigentlich die ganze OOP nicht wirklich, wozu soll es denn gut sein, dass wenn ich eine Klasse erstellt habe davon eine Instanz zu machen?
Wartbarkeit, Wiederverwendbarkeit sind hier die wichtigsten Schlagworte.
Der objektorientierte Ansatz hat sich in der Praxis bisher als der beste Ansatz erwiesen. Es gibt in der Theorie zwar noch weitere Programmierpradigmen, wie z.B. die aspektorientierte Programmierung (die aber nur eine Erweiterung der OOP ist) oder die funktionale Programmierung. Diese sind aber bisher nicht wirklich über den Einsatz im Bereich der Forschung und einiger Nischen hinaus gekommen.
Wie kann man die OOP erklären damit es eine Newbie ohne erfahrung im OOP bereich verstehen kann?
Schwierig, da man das ganze nicht in drei, vier Absätzen erklären kann. Als ersten Einstieg würde ich die Wikipedia empfehlen. Nächster Ansatzpunkt wären Bücher über Java, oder allgemein über OOP.
Der Galileo Verlag bietet netterweise einige seiner Bücher kostenlos zum Runterladen an. Dort findest zum einen in recht gutes und aktuelles Buch zu Java - Java ist auch eine Insel - und auch ein Buch zur Objektorientierung - Das Praxisbuch Objektorientierung: http://www.galileocomputing.de/katalog/openbook
Wieso muss in Java die Datei genau so heißen wie die Class?
Reine Konvention. Es könnte auch sein, dass dadurch die Implementierung des Compilers und/oder der virtuellen Maschine etwas effizienter ist.
Wie wird aus meiner kleinen Klasse -im Moment nur ein kleiner Calculator- eine wirkiche Anwendung die auf jedem Rechner -mit Installiertem Java- laufen kann?
Wenn du eine IDE (z.B. Netbeans) nutzt, wird die automatisch eine sogenannte JAR-Datei erzeugt. Dabei handelt es sich im wesentlichen um ein ZIP-Archiv, das alle zur Anwendung gehörigen Klassen etc. enthält. Außerdem enthält das Archiv noch ein paar Info-Dateien für die Java-Runtime, z.B. welche Klasse die Main-Methode der Anwendung enthält.
Eine solche Anwendung kann theoretisch auf jedem System aufgeführt werden, auf dem eine Java Runtime installiert ist. Probleme kann es event. geben, wenn Bibliotheken nutzt, die nicht zur Java API gehören. Auch mit verschiedenen Java-Versionen kann es Probleme gebe. Eine Anwendung, die mit die JDK 1.6 erstellt wurde, funktioniert nicht mit einer JRE 1.5.
Gruß
Stareagle