Frage von Iamanigga, 31

Jemand Erfahrung mit Java?

Guten Tag, ich habe ein paar Fragen zu Java.

Und bitte für nicht Hochintelligente verständlich gemachte Antworten! UND mit jeweils einem Beispiel, wenn's geht.

  1. Was ist ein Package?

  2. Was ist eine Variable?

  3. Was ist eine Instanz?

  4. Was ist ein statisches Objekt, was ist eine statische Methode, was ist überhaupt static?

  5. Muss ich für jede statische Methode oder Objekt etwas importieren?

  6. Was ist ein Objekt?

  7. Was ist ein Element?

Danke!

Antwort
von regex9, 3
  1. Ein Package fasst mehrere Klassen in einem Paket zusammen. Falls du dich nach dem Grund fragst, solltest du dir zuerst den Aufbau einer Software anschauen. Die besteht üblicherweise aus verschiedenen Modulen, die jeweilige Funktionalitäten übernehmen. Jedes Modul wird nochmals in Submodule unterteilt, usw.. Damit sorgt man für Abstraktion und Unabhängigkeit. Man kann variabel Module entfernen, verändern oder neu hinzufügen, ohne dass es die anderen Module beeinflusst (so zumindest der Plan). Zum Testen sind Module ebenso praktisch. So kann man bereits während der Entwicklungsphase einzelne Module auf ihre Funktionalität prüfen, obwohl die Software selbst noch nicht komplett ist.
  2. Eine Variable ist ein abstrakter Behälter für irgendeine Größe / einen Wert, der während des Programmlaufzeit genutzt wird. Man unterscheidet dabei zwischen Variablen, die lediglich auf eine bestimmte Zelle im Speicher des Rechners zeigen (in dieser Zelle liegt dann ein komplexes Objekt) oder Wertevariablen, die Werte direkt beinhalten.
  3. In der objektorientierten Entwicklung werden Programme in Objekte unterteilt, die miteinander agieren. Eine Klasse beschreibt dann den Aufbau so eines Objekts. Stell dir dazu eine IKEA-Gebrauchsanleitung für einen Stuhl vor. Die Blaupause ist die Klasse (sie beschreibt, dass der Stuhl 4 Beine hat und eine Lehne), das Objekt ist der Stuhl. Wenn ein neuer Stuhl erzeugt (gebaut) wurde, hat man eine Instanz der Blaupause Stuhl kreiert.
  4. Es wird unterteilt zwischen Programminhalten, die sofort zu Programmstart erzeugt (statische Inhalte) und die, die erst während der Programmlaufzeit erstellt werden. Zu Programmstart liegen ebenso schon alle Klassen vor, ihre Instanzen werden jedoch erst später erzeugt. Daher sind statische Inhalte an ihre Klassen gebunden. Wäre dem nicht so, würde man versuchen, zu Programmstart etwas zu erzeugen, wozu es noch keine Grundlage gibt. Logisch gesehen sind statische Inhalte also das, was sich jedes Objekt im Programm teilt. Ein Beispiel: Jedes Objekt der Klasse Tier wird sich bewegen können (wie, sei mal dahingestellt) - so hat jedes Tier eine statische Methode bewege. Die Objekte (bzw. Instanzen) die später erzeugt werden, können dann allerdings individuelle Zustände annehmen, z.B. kann der Elefant explizit tröten und die Schlange würgen.
  5. Nein.
  6. Ein Objekt ist eine Instanz einer Klasse. (siehe Antwort zu 3.)
  7. Aggregate (Listen, Arrays, usw.) beinhalten Elemente. Doch du meinst sicherlich Felder (bzw. in Java: Attribute). Das sind explizite Eigenschaften, die ein Objekt haben kann. Am Beispiel des Stuhls die Anzahl der Stuhlbeine, die Farbe, das Material, die Tatsache, ob es eine Armlehne gibt oder nicht, usw.
Antwort
von triopasi, 13

1.) Ein Package ist eine art "Gruppierung". Dinge, die zusammengehören kommen in das selbe Package. z.B. alle Mathe Funktionen/Klassen etc. in das Package "Math".

2.) Dass selbe wie in Mathe. Bei Programmieren merkt man sich damit Werte!!

3.) Ein Konkretes Objekt einer Klasse. (Initialisierte Klasse)

4.) statische Methoden kannst du aufrufen, ohne die Klasse instanziieren zu müssen. Mehr musst du erstmal dazu nicht wissen. Ansonsten nutze doch mal google.

5.) Nein, du importierst z.B. ganze Packages. Der Standard, den Eclipse/... reinschreibt reicht für recht vieles am Anfang eh schon aus.

6.) Kurz gesagt: Alles xD Es heißt "Objektorientierte Programmierung", und das nicht umsonst. (IRL ist z.B. alles materialistische auch ein "Objekt")

7.) Element von was? Ein Element von einer Liste ist z.B. ein konkreter Eintrag in dieser liste.

Kommentar von Tobihogh ,

Wie nett 😉 hätte nicht gedacht dass darauf jemand ernst antwortet. Er wird wahrscheinlich jemand sein, der Programmieren in 4 Wochen lernen will und das hauptsächlich aus Videos und dann sofort mit GUIs. Vermutung weil: kennt keine Variablen aber will oop.

Kommentar von triopasi ,

Für einen der so wenig Ahnung hat, wird meine Antwort auch eher sinnfrei sein ^^

Kommentar von regex9 ,

Einsteiger, die mit Java beginnen wollen, werden recht schnell mit OOP konfrontiert, wenn sie die falschen Tutorials/Lernquellen verwenden.

An sich wäre es empfehlenswerter für ihn, erst mit Processing anzufangen.

Keine passende Antwort gefunden?

Fragen Sie die Community