Behauptung so richtig?

JavaUndC-Prog

Bekanntes Mitglied
Hallo,

ich habe ein paar Fragen zu Java, die vielleicht doch recht interessant sein können.

1.) Kann eine Unterklasse alle Methoden der Oberklasse aufrufen?
2.) Kommt eine Unterklasse an alle Attribute ihrer Oberklasse?
3.) Kann ich Double Werte mit == vergleichen?
4.) ArrayList ist eine Generische Klasse, hat jemand Beispiele für weitere Generische Klassen?
 

JavaUndC-Prog

Bekanntes Mitglied
Zu 1 und 2 stimme ich dir zu, denn eine private Variable kann von einer Unterklasse nicht gesehen werden. Das trifft auch auf Methoden zu.

Zu 3, da stimme ich nicht zu, denn:
double a = 3.333;
double b = 3.333;
a == b ?
Kann ich vergleichen, wenn die Nachkommastellen jedoch wachsen, sagen wir:
double a = 3.3333333333333333335;
double b = 3.3333333333333333334;
Würde true ausspucken. Kann ich dann vergleichen? Ich kann das nicht sagen?
 

JCODA

Top Contributor
speziell wurde hier ja nach "Double" gefragt, da würde ich ganz klar nein sagen, denn:
Java:
class Main {
  public static void main(String[] args) {
    Double d1 = 1337.42;
    Double d2 = 1337.42;
    double d3 = 1337.42;
    double d4 = 1337.42;
    System.out.println("Double == Double: "+(d1==d2));
    System.out.println("Double == double: "+(d2==d3));
    System.out.println("double == Double: "+(d3==d2));
    System.out.println("double == double: "+(d3==d4));
  }
}

Generell hat man dein beschriebenes Problem beim Vergleich von Gleitkommazahlen, das hat weniger speziell mit Java oder Double zu tun.
Siehe etwa http://www.andreas-schrade.de/java/2013/04/22/java-korrekte-vergleich-von-fliesskommazahlen/
oder etwas technischer: https://www.elektronikpraxis.vogel.de/vergleich-von-gleitkommazahlen-knifflig-aber-machbar-a-657052/
 
Zuletzt bearbeitet:

JavaUndC-Prog

Bekanntes Mitglied
Auch:
Java:
public class MyClass {
  public static void main(String[] args) {
    Double d1 = 1337.42;
    Double d2 = 1337.42;
    double d3 = 1337.424242424242424242424242;
    double d4 = 1337.424242424242424242424243;
    System.out.println("Double == Double: "+(d1==d2));
    System.out.println("Double == double: "+(d2==d3));
    System.out.println("double == Double: "+(d3==d2));
    System.out.println("double == double: "+(d3==d4)); // True, obwohl es nicht gleich ist!
  }
}
 

Meniskusschaden

Top Contributor
speziell wurde hier ja nach "Double" gefragt, da würde ich ganz klar nein sagen
Ich würde ganz klar "ja" sagen, mit der Ergänzung, dass bei dem Vergleich möglicherweise nicht das erwartete Ergebnis heraus kommt.;)
Wie bei allen Objekten prüft man auch hier mit == auf Identität und mit equals auf Gleichheit. Man kann also auf Identität prüfen, praktisch immer interessiert man sich aber für Gleichheit. Deine Beispiele haben nichts mit der fehlenden Genauigkeit zu tun, die in vielen anderen Fällen aber durchaus ein Problem ist.
Java:
System.out.println("double == double: "+(d3==d4)); // True, obwohl es nicht gleich ist!
Doch, d3 und d4 sind gleich, nämlich 1337.4242424242425. Das hat aber nichts mehr mit deiner Ursprungsfrage zu tun, denn da ging es nicht um double, sondern um Double.
 

JCODA

Top Contributor
@JavaUndC-Prog
Hier liegt der Fehler nicht im Vergleich, sondern darin, dass der Entwickler die Genauigkeit von double nicht kennt.
Denn wenn solch ein Wert im Programm steht, wird dieser eben nur bis zu double-Genauigkeit gespeichert.
Es besteht gar keine Möglichkeit die Werte zu unterscheiden, weil sie eben gleich "abgespeichert" werden.
 

Meniskusschaden

Top Contributor
Du kannst beide mit == vergleichen. Aber du willst Double praktisch nie mit == vergleichen. Und double willst du manchmal auch nicht mit == vergleichen, manchmal aber schon.

Bei double geht es darum, ob die begrenzte Genauigkeit ein Problem darstellt. Bei Double geht es zusätzlich um das Problem des Unterschieds zwischen Gleichheit und Identität.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Regex greift nicht richtig Java Basics - Anfänger-Themen 4
C Darstellung von Datum - Codes richtig? Java Basics - Anfänger-Themen 2
C Rechnen mit Brüchen, ist meine Lösung soweit richtig? Java Basics - Anfänger-Themen 4
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
I Bild richtig speichern / Hochkant im File Explorer, nach Upload vertikal Java Basics - Anfänger-Themen 9
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
K Warum läuft das Programm nicht(bzw. nicht richtig) Java Basics - Anfänger-Themen 4
K REGEX - Rechnungsbetrag wird nicht richtig ausgelesen. Java Basics - Anfänger-Themen 3
B Semaphoren in Abhängigkeit an Bedingungen richtig setzen Java Basics - Anfänger-Themen 3
berserkerdq2 Habe ich die Aufgabe richtig gelöst? Java Basics - Anfänger-Themen 3
R CSV Reader läuft nicht richtig an Java Basics - Anfänger-Themen 8
E Umlaute und Sonderzeichen werden nach der Build Project nicht richtig angezeigt Java Basics - Anfänger-Themen 2
G jButton führt Main Methode nicht richtig aus Java Basics - Anfänger-Themen 3
G Main Methode wird beim ersten Aufruf nicht richtig ausgeführt Java Basics - Anfänger-Themen 1
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
JensXF Methode überschreiben, so richtig? Java Basics - Anfänger-Themen 4
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
S Daten/Klassen/Packages richtig updaten!? Java Basics - Anfänger-Themen 2
L Ist der Code richtig Java Basics - Anfänger-Themen 3
J Wie bestehenden Quellcode in IDE richtig übernehmen Java Basics - Anfänger-Themen 27
F Methoden Methode richtig aufrufen Java Basics - Anfänger-Themen 3
D Klassen Klassendiagramm richtig erstellen Java Basics - Anfänger-Themen 20
J Module richtig einbinden Java Basics - Anfänger-Themen 2
B Sind meine If-Statements richtig angesetzt ? Java Basics - Anfänger-Themen 27
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
X Wie Generics richtig benutzen ? Java Basics - Anfänger-Themen 5
P Stringbuilder richtig einsetzen Java Basics - Anfänger-Themen 1
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
A Array richtig füllen Java Basics - Anfänger-Themen 2
S String richtig formatieren Java Basics - Anfänger-Themen 2
P Methoden richtig anwenden Java Basics - Anfänger-Themen 3
O Popoup Menü im JTable richtig anzeigen Java Basics - Anfänger-Themen 6
D Richtig für Programmieren an der UNI lernen Java Basics - Anfänger-Themen 8
X Best Practice Ein int Array richtig mischen Java Basics - Anfänger-Themen 20
D Richtig Vorbereiten auf eine Programmier Klausur Studium. Java Basics - Anfänger-Themen 7
M ObservableList wird nicht richtig geleert Java Basics - Anfänger-Themen 0
T Sortieralgorithmen richtig? Java Basics - Anfänger-Themen 1
X Objekte einer ArrayList richtig ausgeben? Java Basics - Anfänger-Themen 8
S Wie implementiere ich MouseDragged richtig Java Basics - Anfänger-Themen 7
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
I OOP Objektnamen über die Konsole richtig einlesen Java Basics - Anfänger-Themen 9
P Input/Output PQ-Formel wird nicht richtig berechnet Java Basics - Anfänger-Themen 6
P Zeichenkette Zeichen ausschlißen funktioniert nicht richtig Java Basics - Anfänger-Themen 9
H Wie lerne ich Java richtig? Java Basics - Anfänger-Themen 2
N Ich weiß nicht, wie ich meinen Code richtig designen soll und komme nicht weiter Java Basics - Anfänger-Themen 4
B Wie instanzisiert man einen Cursor richtig? Java Basics - Anfänger-Themen 3
J Polymorphie und Dynamisches Binden richtig nutzen Java Basics - Anfänger-Themen 11
N Best Practice Ist die Sortierung richtig? Java Basics - Anfänger-Themen 3
J Erste Schritte Lottozahlen richtig generieren. Java Basics - Anfänger-Themen 12
R Listen richtig implementieren Java Basics - Anfänger-Themen 3
B OOP Objekt in IF erzeugen - funktioniert nicht so richtig Java Basics - Anfänger-Themen 11
A Methode richtig überladen Java Basics - Anfänger-Themen 6
H Aufgabe so richtig gelöst? Java Basics - Anfänger-Themen 14
S Code richtig / besser machbar? (Nicht sicher, ob Code selbst falsch ist) Java Basics - Anfänger-Themen 4
W Ist mein Struktogram richtig erstellt worden? Java Basics - Anfänger-Themen 4
L Taschenrechner mit switch und while funktioniert noch nicht richtig Java Basics - Anfänger-Themen 22
U Mehrfach verwendete Sub-Klassen richtig einbinden Java Basics - Anfänger-Themen 4
L Schleife funktioniert nicht richtig Java Basics - Anfänger-Themen 12
Meeresgott OOP Richtig mit java.util.Property umgehen Java Basics - Anfänger-Themen 22
Y Erste Schritte Ich verstehe this. nicht so richtig Java Basics - Anfänger-Themen 5
I Programm von mir - keine Ahnung mehr ob richtig falsch:-( Java Basics - Anfänger-Themen 6
M Abstände richtig wiedergeben Java Basics - Anfänger-Themen 2
S nio move() funktioniert nicht richtig Java Basics - Anfänger-Themen 2
J Timer richtig pausieren Java Basics - Anfänger-Themen 2
B Ist meine Klasse richtig kommentiert? Java Basics - Anfänger-Themen 2
kilopack15 Ist diese setter-Methode richtig? Java Basics - Anfänger-Themen 2
H OOP, wie gehts richtig? (Beispiel von meinem Prof) Java Basics - Anfänger-Themen 6
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
kilopack15 Lösungsansatz richtig? Java Basics - Anfänger-Themen 23
Meeresgott OOP Socket Verbindung richtig Kapseln Java Basics - Anfänger-Themen 0
Meeresgott OOP Gui, Logik und Datenbank richtig aufbauen Java Basics - Anfänger-Themen 43
T Datum wird auf der Konsole richtig ausgegeben, aber im Textarea kommt ERROR Java Basics - Anfänger-Themen 8
C Warum funktioniert mein If Statement nicht richtig? Java Basics - Anfänger-Themen 18
J Aufgabe(Threads) richtig verstanden/implementiert Java Basics - Anfänger-Themen 27
K Erste Schritte Wie lerne ich Java richtig? Java Basics - Anfänger-Themen 22
U Richtig *.properties speichern Java Basics - Anfänger-Themen 0
N Lambda Ausdrücke richtig schreiben Java Basics - Anfänger-Themen 4
B OOP Wie benutze ich die Main Funktion richtig? Java Basics - Anfänger-Themen 10
3 Gitternetz richtig darstellen Java Basics - Anfänger-Themen 3
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
D CSV Files richtig zusammenführen Java Basics - Anfänger-Themen 3
D Array richtig ausgeben Java Basics - Anfänger-Themen 6
Z HashMap richtig benutzen Java Basics - Anfänger-Themen 2
S Variable (int) erhöht sich nicht richtig Java Basics - Anfänger-Themen 18
J Vererbung Wurden die Aufgaben richtig programmiert? Java Basics - Anfänger-Themen 20
J Iterator Funktioniert nicht richtig in StackImplementierung Java Basics - Anfänger-Themen 3
L0MiN Input/Output Wie kann ich Kompilierfehler richtig ausgeben lassen (Runtime)? Java Basics - Anfänger-Themen 1
J Programm im Jar-Format funktioniert nicht richtig Java Basics - Anfänger-Themen 9
L Arrays richtig initialisieren Java Basics - Anfänger-Themen 1
V Java Regex richtig parsen Java Basics - Anfänger-Themen 2
O Programm funktioniert nur im Debugger richtig Java Basics - Anfänger-Themen 2
F Klassen für Objekt richtig erstellen Java Basics - Anfänger-Themen 8
M Programm wird nicht richtig ausgeführt Java Basics - Anfänger-Themen 4
Q Path wird nicht richtig "übersetzt"? Java Basics - Anfänger-Themen 7
W HTML Code, Umlaute werden nicht richtig dargestellt Java Basics - Anfänger-Themen 7
T Threads Threads richtig synchronisieren Java Basics - Anfänger-Themen 3
? Wie sind ESCAPE-Sequenzen (z.B \f für einen Seitenvorschub) richtig anuwenden? Java Basics - Anfänger-Themen 3
A Apk wird nicht richtig Exportiert Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben