OOP Point (int x, int y)

Kel

Aktives Mitglied
Java:
private Point punktA;

public Strecke(Point punktA) {
		this.punktA = punktA;
	}

public static void main (String[] args) {
		Strecke strecke = new Strecke((2, 2));
	}

Ich will im Konstruktor ein Point-Element?Objekt? übergeben, aber ich kriegs einfach nicht hin, dass das klappt.
Code:
Point(2,2)
nimmt er nicht,
Code:
(2,2)
auch nicht, nur mit
Code:
new Point(2,2)
klappts, aber ich will ja kein neues Pointobjekt erzeugen, ich hab ja schon eine Instanzvariable als Point, der müssen ja nur noch Werte gegeben werden.
Wie mach ich das also? :rtfm:

Ich brauch insgesamt 2 Point-Objekte, die im Konstruktor übergeben werden, aber erstmal wär es gut, wenn ich weiss wie ich eins übergebe.
 

eRaaaa

Top Contributor
ich hab ja schon eine Instanzvariable als Point, der müssen ja nur noch Werte gegeben werden.
Wie mach ich das also? :rtfm:

Ja in dem du eben ein Objekt erstellst :autsch: (wo musst eben du wissen)
du könntest auch schreiben
Java:
	public Strecke(int a, int b) {
		this.punktA = new Point(a, b);
	}

dann würde deine main fast funktionieren

Java:
Strecke strecke = new Strecke(2, 2);
 

Kel

Aktives Mitglied
Ah, ich bin wieder mit der OOP durcheinandergekommen.
die Instanzvariable ist ja nur eine Objektreferenz und das Objekt muss ich ja erst erzeugen, damit die Referenz darauf verweisen kann.

Was meinst du mit "fast funktionieren"?
Läuft doch mit deinem Code soweit?
 

Landei

Top Contributor
Was spricht gegen [c]Strecke strecke = new Strecke(new Point(2, 2));[/c]? Deine Instanzvariable [c]pointA[/c] ist nur eine Referenz, die erst einmal leer (also [c]null[/c]) ist. Irgendwo musst du den Punkt auch wirklich erzeugen, entweder "außerhalb" in main, oder im Konstruktor, wie eRaaa gezeigt hat.
 

Kel

Aktives Mitglied
Dagegen spricht nichts, hatte nur Objektreferenz und Objekt verwechselt. Ich pack das trotzdem lieber in den Konstruktor wie im obigen Codebeispiel, spart Tipparbeit beim erzeugen einer neuen Instanz.
 

Landei

Top Contributor
Kommt darauf an: Wenn du sowieso im Programm dauernd mit Punkten hantierst, kann meine Variante besser sein. Denn wie schreibst du das, wenn du schon einen Punkt hast? So:

Java:
Point p = holePunktVonSonstwoher();
Strecke strecke = new Strecke(p.x, p.y);

Wenn eine Strecke dann noch zwei Punkte hat (wie sie ja eigentlich haben sollte), wird es langsam unübersichtlich.

Übrigens: Du kannst auch zwei Konstruktoren haben, einen mit ints, einen mit Punkten, dann hast du beim Aufruf die Auswahl.
 

Crian

Top Contributor
Dann bietet sich

Java:
public class Strecke {
    private Point punktA;
 
    public Strecke(Point punktA) {
        this.punktA = punktA;
    }
 
    public Strecke(int a, int b) {
        this.punktA = new Point(a, b);
    }
    public static void main (String[] args) {
        Strecke strecke1 = new Strecke(2, 2);
        Strecke strecke2 = new Strecke(new Point(3, 4));
    }
}

an. Entweder man übergibt einen fertigen Punkt, oder halt einen x- und einen y-Wert und baut sich daraus einen Punkt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Vivien Kurze Verständnisfrage zu Java Point aus java.awt.* Java Basics - Anfänger-Themen 5
L Methode Point[], Array widergeben Java Basics - Anfänger-Themen 5
M XWPF - Bullet Point list erstellen Java Basics - Anfänger-Themen 1
TomatenBrot447 Variable vom Typ Point Java Basics - Anfänger-Themen 2
D 0 Point Exeption... aber warum? Java Basics - Anfänger-Themen 3
S double[x] , double[y] zu Point[] points kopieren? Java Basics - Anfänger-Themen 15
D Point-Array ausgeben Java Basics - Anfänger-Themen 2
V Anlegen eines 2 dim Array mit Point Elementen Java Basics - Anfänger-Themen 3
M Methoden Array unbedingt klonen? und Point Frage. Java Basics - Anfänger-Themen 4
F JavaKara - Rückgabetyp java.awt.Point Java Basics - Anfänger-Themen 2
L Klassen Point- und Math-Klasse Java Basics - Anfänger-Themen 3
L warum werden nicht die neuen Point Daten der Zeile 25 beim ausprinten Zeile 28 übernommen ? Java Basics - Anfänger-Themen 8
G Datentypen Floating point Fehler Java Basics - Anfänger-Themen 2
S Warum sind Attribute der Klasse java.awt.Point public? Java Basics - Anfänger-Themen 3
K Methoden format() mit Point(x, y)-Objekt Java Basics - Anfänger-Themen 14
D X Werte in ArrayList von Point Objekte alle gleich ? Java Basics - Anfänger-Themen 11
W Nullpointerexception: Integer auf Point Java Basics - Anfänger-Themen 4
T Problem mit Point Klasse Java Basics - Anfänger-Themen 2
A Point in ArrayList packen Java Basics - Anfänger-Themen 15
S Point-Objekte in Array einfügen Java Basics - Anfänger-Themen 13
J ArrayList<Point> in eine neue ArrayList<Point> kopieren Java Basics - Anfänger-Themen 8
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
G Abstrakte Klasse "Point" Java Basics - Anfänger-Themen 2
G Plugins bzw. Extension Point in Eclipse Java Basics - Anfänger-Themen 3
M Collections kopieren (ArrayList<Point>) Java Basics - Anfänger-Themen 3
M Array mit Point-Objecten Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben