Paket in einen Konstruktor implementieren

Volthex

Mitglied
Hallo,
ich habe ein Problem bei einer Aufgabe. Die Aufgabenstellung lautet wie folgt:
"Erzeugt eine neue Klasse, die als zentrale Klasse die Aspekte eures Spiels realisiert. Implementiert einen Konstruktor und erzeugt darin unter Verwendung des parameterlosen Konstruktors ein Objekt der Klasse PIMarbleGame aus dem Paket pimarble. Dann öffnet sich ein leeres Spielfeld. Dieses Spielfeld ist 780 Pixel (Bildpunkte) breit und 600 Pixel hoch."
Wir müssen ein Murmelspiel programmieren, nur weiß ich gerade nicht, wie ich das Paket pimarble in eine andere Klasse einbinden soll, damit das funktioniert.
 

Joose

Top Contributor
Mittels "Import" Anweisung ;)

Beispiel:
Java:
package irgendwas;

import java.swing.*;
......
 

Joose

Top Contributor
Nein deine Klasse befindet sich zum Beispiel in einem Package "xyz". Du sollst Objekte der Klasse PIMarbleGame erstellen welche sich im Package "pimarble" befindet.
Dieses package musst du importieren.
 

Volthex

Mitglied
Ich habe es jetzt so gemacht:
Java:
import pimarble.PIMarbleGame;
/**
 * Write a description of class PIMarbleGame here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class PIMarbleGame
{

    /**
     * Constructor for objects of class PIMarbleGame
     */
    public PIMarbleGame()
    {

    }
}
Aber jetzt bekomme ich eine Fehlermeldung: "PIMarbleGame is already defined in this compilation unit."
Muss ich das "Import" woanders hinschreiben?
 

InfectedBytes

Top Contributor
Du musst deine Klasse einfach anders nennen.
Es gibt eben schon eine PIMarbleGame Klasse (die importierst du ja gerade), daher solltest du deine eigene Klasse umbenennen.
 

Volthex

Mitglied
Laut Aufgabe sollte sich jetzt aber ein Spielfeld öffnen. Doch es tut sich nix... Ich hab meine eigene Klasse jetzt auch anders benannt.
 

Joose

Top Contributor
Laut Aufgabe sollte sich jetzt aber ein Spielfeld öffnen. Doch es tut sich nix
Wie schaut denn dein Code nun aktuell aus?
"Es tut sich nix" ist keine Fehlerbeschreibung. Gut es sollte sich ein Spielfeld öffnen, öffnet sich anscheinend nicht. Kommt irgendeine Fehlermeldung?
Hast du im Konstruktor deiner Klasse ein Objekt von "PIMarbleGame" erstellt?
 

Volthex

Mitglied
Java:
import pimarble.PIMarbleGame;
/**
 * Write a description of class MarbleGame here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class MarbleGame
{
    public MarbleGame()
    {

    }
}
Das ist mein Code. Ich habe versucht im Konstruktor PIMarbleGame = new PIMarbleGame(); und pimarble = new PIMarbleGame(); und MarbleGame = new PIMarbleGame(); einzugeben, aber das funktioniert nicht. Es heißt dann immer, dass das linke Objekt vom Gleichheitszeichen nicht gefunden wird.
 

Joose

Top Contributor
Das ist mein Code. Ich habe versucht im Konstruktor PIMarbleGame = new PIMarbleGame(); und pimarble = new PIMarbleGame(); und MarbleGame = new PIMarbleGame(); einzugeben, aber das funktioniert nicht. Es heißt dann immer, dass das linke Objekt vom Gleichheitszeichen nicht gefunden wird.
Ja weil die Deklaration falsch ist! So schaut sie allgemein aus --> [Type] [variablenname] = new [Konstruktor];
Deine 3 Varianten sind irgendwas, schau dir die Grundlagen zur objektorientierten Programmierung (kurz OOP) an.
 

Volthex

Mitglied
Ach ja stimmt... Mein Gott bin ich blöd :S Habs jetzt hinbekommen. Danke nochmal für die Hilfe :D
Java:
import pimarble.PIMarbleGame;
/**
 * Write a description of class MarbleGame here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class MarbleGame
{
    public MarbleGame()
    {
     PIMarbleGame MarbleGame = new PIMarbleGame();
    }
}
 

Neue Themen


Oben