2016-04-16 16 views
-2

Angenommen, ich habe eine Klasse namens Ellipse Dann, was der Unterschied zwischen den beiden Linien istUnterschied zwischen den beiden Linien

1-Ellipse ellipse = new Ellipse(); 
2-Ellipse e; 

ich zuerst wissen, ich alle Elemente der Ellipse-Klasse zugreifen können, wie es ist Erstellen des Objekts der Ellipsenklasse. Aber mit der zweiten kann ich das gleiche tun

Was ist der Unterschied zwischen den beiden. Was kann ich aus erster Linie tun und nicht durch den zweiten oder viceversa

+0

Ich habe dich nicht bekommen – Begginer

+0

Der Versuch, alle Methoden auf 'e' aufzurufen, wird eine' NullPointerException' auslösen. – Powerlord

+0

Danke, das macht Sinn – Begginer

Antwort

1

Linie 1 & 2: erklären Sie Ellipse Variablen, zuerst eine Variable ellipse Variable mit dem Namen und der zweite, ein e genannt.

  • Zeile 1: Sie weisen der Ellipsenvariablen ein realisierbares Objekt oder eine Referenz zu. Sie können nun Ellipsenmethoden für die Variable aufrufen und auf alle öffentlichen Felder zugreifen.
  • Zeile 2: Sie weisen der Variablen e nichts zu und stattdessen hat sie nichts als eine Nullreferenz, und Sie können noch nichts damit tun. Wenn Sie versuchen, die Variable vor zu verwenden, die die Referenz zuweist, riskieren Sie, eine NullPointerException zu erhalten.

Denken Sie an eine Variable wie eine leere Tasse. Sie haben zwei Tassen, und die erste, Ellipse, haben Sie mit Bier gefüllt und können davon trinken und zufrieden sein. Der zweite, e ist leer, und wenn Sie versuchen, davon zu trinken, werden Sie sehr enttäuscht sein.

+0

Danke, das macht Sinn – Begginer

0

Java ist nicht C++, Ellipse e; keine new Ellipse() zuzuteilen, ist es gleichwertig Ellipse e = null; In Vertrag das erste Beispiel konstruiert eine Ellipse Instanz und ordnet den Verweis auf die Variable ellipse.

0

Zeile 1 - Deklariert und initialisiert ein neues Ellipse-Objekt und weist es einer Variablenellipse zu.

Zeile 2, Deklarierte eine Variable e vom Typ Ellipse.

Verwandte Themen