Einführung in die Klasse "Object" in der Programmiersprache Java im Rahmen der Lehre des Programmierens mit der Programmiersprache Java. (), Lektion, Seite 721584
https://www.purl.org/stefan_ram/pub/java_klasse_object_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Die Klasse »java.lang.Object« in Java 

Die Klasse »java.lang.Object« ist Obertyp jeder Klasse. Jedes Objekt enthält daher alle nicht-statischen Methoden der Klasse »java.lang.Object«.

Im folgenden Stellen wir einige dieser „universellen Methoden“ vor.

Die Methode »getClass()«

Die Methode »getClass()« liefert die Klasse des sie enthaltenden Objekts. Sie wurde bereits vorgestellt.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( java.lang.System.in.getClass() ); }}
Protokoll
class java.io.BufferedInputStream

Die Methode »toString()«

Die Methode »toString()« liefert eine Textdarstellung des sie enthaltenden Objekts als ein String-Objekt.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( java.lang.System.in.toString() ); }}
Protokoll
java.io.BufferedInputStream@5280d8c8

Die Textdarstellung eines Objektes enthält nicht unbedingt alle  Informationen über das Objekt. Sie ist daher nicht unbebingt dafür geeignet, ein Objekt eindeutig zu identifizieren. Vielmehr versucht sie, einige  Informationen über das Objekt kurz darzustellen.

Die obige Ausgabe »java.io.BufferedInputStream@5280d8c8« besteht aus dem Klassennamen »java.io.BufferedInputStream«, einem kommerziellen à »@« und einer Art von Objektnamen »5280d8c8«, der aber nicht eindeutig ist (zwei verschiedene  Objekte könnten denselben  Namen haben, obwohl dies nur selten vorkommt).

Die Methode »equals()«

Die Methode »equals(java.lang.Object)« beurteilt, ob ihr Objekt dem Argumentobjekt gleicht. Sie ergibt einen Wert von Typ »boolean«.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( java.lang.System.in.equals( java.lang.System.in ) ); }}
Protokoll
true

Objektparameter

Manche Methoden haben einen Parameter mit dem Typ »java.lang.Object«. Als Argumentwert ist dann jedes  Objekt zulässig.

»java.io.PrintStream#println(java.lang.Object)«

Die Methode »java.io.PrintStream#println(java.lang.Object)« hat einen Parameter vom Typ »java.lang.Object«. Daher kann sie mit jedem Objekt als Argumentwert aufgerufen werden. Sie gibt die Textdarstellung des Argumentobjekts aus.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println( java.lang.System.in ); }}
Protokoll
java.io.BufferedInputStream@5280d8c8

»java.lang.String#valueOf(java.lang.Object)«

Die Methode »java.lang.String#valueOf(java.lang.Object)« hat einen Parameter vom Typ »java.lang.Object«. Daher kann sie mit jedem Objekt als Argument aufgerufen werden. Sie ergibt die Textdarstellung ihres Argumentobjekts.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( java.lang.String.valueOf( java.lang.System.in )); }}
Protokoll
java.io.BufferedInputStream@5280d8c8

Die allgemeine und die spezielle Semantik ⃗

Die allgemeine und die spezielle Semantik von »toString()«

Die Dokumentation der Methode »toString()« in der Klasse »java.lang.Objekt« besteht aus zwei Teilen:

Die allgemeine Semantik

Der erste Teil beschreibt Eigenschaften der Methode »toString()«, welche diese Methode in allen  Untertypen hat.

Auszug aus »javase/9/docs/api/java/lang/Object« mit zusätzlichen Hervorhebungen
In general, the toString method returns a string that "textually represents" this object.

Die spezielle Semantik

Der zweite Teil beschreibt Eigenschaften der Methode »toString()«, die von dieser Dokumentation nur für Objekte der Klasse »java.lang.Objekt« garantiert werden, obwohl dadurch nicht ausgeschlossen ist, daß auch Objekte von Unterklassen diese Eigenschaften haben.

Auszug aus »javase/9/docs/api/java/lang/Object« mit zusätzlichen Hervorhebungen
The toString method for class Object  returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and …

Dieser spezielle Teil  der Dokumentation ist daran erkennbar, daß er mit einer Phrase wie “for class Object ” oder “for this class ” eingeleitet wird, die klarstellt, daß dieser Teil der Dokumentation sich nur auf Objekte der dokumentierten Klasse bezieht.

Unterklassen

Die toString-Methoden von Objekten von Unterklassen von »java.lang.Objekt« müssen die allgemeine Semantik von »toString()« erfüllen, aber nicht die spezielle Semantik. Einige Unterklassen erfüllen auch die spezielle Semantik, andere weichen von ihr ab.

Dieses Prinzip, demzufolge Unterklassen die allgemeine Semantik von Methoden einer Klasse erfüllen, aber nicht unbedingt die spezielle, findet man auch bei verschiedenen anderen Klassen und Methoden wieder.

Die allgemeine und die spezielle Semantik von »equals()«

Die allgemeine Semantik

Die Methode »equals(java.lang.Object)« muß Erwartungen erfüllen, die man normalerweise an eine „Gleichheitsmethode“ stellt. Beispielsweise müssen die folgenden Aussagen wahr sein:

Spezielle Semantiken

Der Aufruf »x.equals(y)« für ein Objekt »x« der Klasse »java.lang.Object« ergibt genau dann »true«, wenn »x==y« »true« ergibt.

Für Objekte anderer Klassen  sind hier abweichende Definitionen möglich. Beispielsweise könnten zwei verschiedene Objekte als gleich angesehen werden, wenn sie beide in einem gewissen Sinne „gleichwertig“ sind. (Beispiele hierfür folgen später im Kurs.)

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 stefanram721584 stefan_ram:721584 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, slrprd721584, slrprddef721584, 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_klasse_object_de