Einführung in die Deklaration von Feldern (Variablen) für Exemplare einer Klasse in Java im Rahmen der Lehre des Programmierens mit der Programmiersprache Java. (Feld), Lektion, Seite 721600
https://www.purl.org/stefan_ram/pub/java_felder_fuer_exemplare_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Deklarationen nicht-statischer Felder in Java 

Durch eine Klassendeklaration können auch die Einträge von Exemplare der zu der Klassendeklaration gehörenden Klasse bestimmt werden. Dazu dürfen diese Einträge nicht  mit »static« gekennzeichnet werden.

Objekte und Klassen

Die nicht-statischen Felder einer Klasse werden Bestandteil jedes Objekts jener Klasse.

Die statischen Felder einer Klasse werden nicht  Bestandteil eines Objekts jener Klasse.

Die statischen  Einträge einer Klasse gelten nicht  für die Objekte jener Klasse.

Erinnerung

Wir erinnern an die Klasse »java.awt.geom.Point2D.Double«, deren Exemplare zwei Felder haben.

Main.java

public final class Main
{ public static void main( final java.lang.String[] args )
{ final java.awt.geom.Point2D.Double o
= new java.awt.geom.Point2D.Double();

o.y = 14;
o.y = 12;

java.lang.System.out.println( o.x );
java.lang.System.out.println( o.y ); }}

java.lang.System.out
0.0
12.0

Ein Objekt mit einem Feld

Main.java

public final class Main
{

/* Beginn der "Objektklasse Main" mit nicht-statischen Einträgen */

public double x;

/* Beginn der "Verzeichnisklasse Main" mit statischen Einträgen */

public static void main( final java.lang.String[] args )
{ final Main object = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
java.lang.System.out.println( object.x );
object.x = 1.0;
java.lang.System.out.println( object.x ); }}

java.lang.System.out
0.0
1.0

Das Feld wurde ohne »static« deklariert. Es wurde automatisch mit 0.0 initialisiert.

Nicht-statische Felder (also nicht-statische Variablen) einer Klasse existieren zunächst noch nicht. Sie existieren erst in dem Moment, in dem ein Objekt jener Klasse angelegt wird. Dann sind sie sozusagen in diesem Objekt enthalten. Wir nun ein zweites Objekt derselben Klasse angelegt, so enthält dies erneut zu jeder nicht-statischen Variablendeklaration der Klasse eine Variable, aber die Variablen des zweiten Objekts sind nicht dieselben als die des ersten Objekts.

Feldnamen

Namen von Felder, die nicht mit dem Feldmodifizierer "final" deklariert wurden, sollten mit einem kleinen Buchstaben beginnen, weitere Wörter im Namen beginnen dann mit einem großen Buchstaben (camel case, wie beispielsweise der Name "secondsSinceYesterday"). Die Namen sollten Nomen, Nominalphrasen oder Abkürzungen von Nomen sein.

Zwei Objekte mit jeweils einem Feld

Main.java

public final class Main
{

/* Beginn der "Objektklasse Main" mit nicht-statischen Einträgen */

public double x;

/* Beginn der "Verzeichnisklasse Main" mit statischen Einträgen */

public static void main( final java.lang.String[] args )
{ final Main object0 = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
final Main object1 = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
java.lang.System.out.println( object0.x );
java.lang.System.out.println( object1.x );
object0.x = 4.0;
object1.x = 6.0;
java.lang.System.out.println( object0.x );
java.lang.System.out.println( object1.x ); }}

java.lang.System.out
0.0
0.0
4.0
6.0

Ein Objekt als Verbund zweier Felder

Main.java

public final class Main
{

/* Beginn der "Objektklasse Main" mit nicht-statischen Einträgen */

public double x;
public double y;

/* Beginn der "Verzeichnisklasse Main" mit statischen Einträgen */

public static void main( final java.lang.String[] args )
{ final Main object = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
object.x = 1.0;
object.y = 2.0;
java.lang.System.out.println( object.x );
java.lang.System.out.println( object.y ); }}

java.lang.System.out
1.0
2.0

Initialisierungen von Feldern

Main.java

public final class Main
{

/* Beginn der "Objektklasse Main" mit nicht-statischen Einträgen */

public final double x = 3;
public double y = 8;

/* Beginn der "Verzeichnisklasse Main" mit statischen Einträgen */

public static void main( final java.lang.String[] args )
{ final Main object = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
java.lang.System.out.println( object.x );
java.lang.System.out.println( object.y ); }}

java.lang.System.out
3.0
8.0

Übungsfragen

?    Ausgabe vorhersagen
Welche Ausgabe erzeugt das folgende Programm?
Main.java

public final class Main
{

/* Beginn der "Objektklasse Main" mit nicht-statischen Einträgen */

public double x;
public double y;

/* Beginn der "Verzeichnisklasse Main" mit statischen Einträgen */

public static void main( final java.lang.String[] args )
{ final Main object0 = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
final Main object1 = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
object0.x = 1.0;
object1.y = 4.0;
object1.x = 3.0;
object0.y = 2.0;
java.lang.System.out.println( object0.x );
java.lang.System.out.println( object0.y );
java.lang.System.out.println( object1.x );
java.lang.System.out.println( object1.y ); }}

/    Ausgabe vorhersagen
Welche Ausgabe erzeugt das folgende Programm?
Main.java

public final class Main
{

/* Beginn der "Objektklasse Main" mit nicht-statischen Einträgen */

public double x;
public double y;

/* Beginn der "Verzeichnisklasse Main" mit statischen Einträgen */

public static void main( final java.lang.String[] args )
{ final Main a = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
final Main b = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
a.x = 1.0;
a.y = 4.0;
java.lang.System.out.println( b.x );
java.lang.System.out.println( b.y ); }}

?    Ausgabe vorhersagen
Welche Ausgabe erzeugt das folgende Programm?
Main.java

public final class Main
{

/* Beginn der "Objektklasse Main" mit nicht-statischen Einträgen */

public double x;
public double y;

/* Beginn der "Verzeichnisklasse Main" mit statischen Einträgen */

public static void main( final java.lang.String[] args )
{ final Main a = new Main(); /* Anlegen eines Objekts der "Objektklasse Main" */
final Main b = a;
a.x = 1.0;
a.y = 4.0;
b.x = 2.0;
java.lang.System.out.println( a.x );
java.lang.System.out.println( b.y ); }}

Zusatzaufgabe *

Was ist die Ausgabe des folgende Programms?

Main.java

public final class Main
{

/* Beginn der "Objektklasse Main" mit nicht-statischen Einträgen */

public int i = 3;

/* Beginn der "Verzeichnisklasse Main" mit statischen Einträgen */

public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( new Main().i++ );
java.lang.System.out.println( new Main().i++ ); }}

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram721600 stefan_ram:721600 Feld source, source code,sourcecode, Programmier sprache java, Java Programm Java Programmiersprache Java Sprache Java Programmierung Programmieren in Java, Die Programmiersprache Java Javapgrammierung, Java-Programmierung, Java2, Java1.2, Java1.3, Java1.4, Java1.5, Java 2, Java 1.2, Java 1.3, Java 1.4, Java 1.5, Java 1.6, Java 1.7, Java 1.8, Java 8, Java 1.9, Java 9, Java 1.10, Java 10, Tiger, Dolphin, objektorientierte Programmierung, Java sun, , Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd721600, slrprddef721600, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/java_felder_fuer_exemplare_de