Objekterstellung abbrechen?

MOEP_BIBER

Aktives Mitglied
Hallo hab schon wieder ne Frage^^

Wenn man zum Beispiel eine begrenzte Anzahl an Objekten haben möchte, so muss man einen Counter bei Erstellung des Objekts hochzählen lassen, den Konstruktor private machen und die Objekterstellung über eine Methode laufen lassen.

Ist es möglich die Objekterstellung in einem Konstruktor selber abzubrechen?
Also den Konstruktor public zu lassen und dort die Fallunterscheidung vornehmen?

heir nochn bisschen code:

Java:
private Haustier(String name) {
        this.name = name;
    }

    public static Haustier haustierCreator(String name) {
        if(anzahl < 4) {
            anzahl++;
            return new Haustier(name);
        }
    }

so ähnlich mein ich das:
Java:
public Haustier(String name)
    {
        this.name = name;
        if(anzahl < 4) {
            anzahl++;
            machHaustier(name);
        }
        else
        {
            machKeinHaustier();
        }
    }


MfG Biber
 
Zuletzt bearbeitet:

nrg

Top Contributor
nein, meines Wissens nach nicht. Die Konzeption wäre dann so schon richtig (nehme mal an anzahl ist ein staticattribut von Haustier). getInstance wäre vllt der korrekte Name der Methode.
 
S

SlaterB

Gast
wenn eine Exception geworfen wird, erhält der Aufrufer kein fertig erstelltes Objekt,
die evtl. zu setzende Variable bleibt bei null bzw. beim vorherigen Wert,
reicht das?
 

Volvagia

Top Contributor
Klar geht das, du musst nur eine Exeption throwen lassen.

Java:
public Haustier(String name) throws RuntimeException
{
	this.name = name;
	if(anzahl >= 4)
		throw new RuntimeException("Cannot create more pets.");
	macheHaustier();
}

Die Runtime hat den Vorteil, dass du sie bei Bedarf abfangen kannst, aber nicht gezwungen bist.
 

MOEP_BIBER

Aktives Mitglied
alles klar danke =)

noch ne frage:

sind in einer abstrakten Klasse automatisch alle Methoden abstrakt? nicht oder?
Man kann ja auch eine Klasse abstrakt erklärn ohne dass man auch nur eine Methode abstrakt macht oder?

MfG Biber
 

nrg

Top Contributor
sind in einer abstrakten Klasse automatisch alle Methoden abstrakt? nicht oder?
Man kann ja auch eine Klasse abstrakt erklärn ohne dass man auch nur eine Methode abstrakt macht oder?
für den Fall, dass ich in dem Thread noch was richtiges von mir gebe: Ja, das stimmt so ;)

Eine abstrakte "Klasse" bei der alle Methdoen "abstrakt" sein müssen, ist dann ein Interface aber da kann man sich das "abstrakt" dann auch sparen - weil es eh automatisch alle sind :)
 

XHelp

Top Contributor
Wenn abstrakte Methoden vorhanden sind, dann muss auch die Klasse abstrakt sein. Aber nicht umgekehrt. Du kannst also auch eine abstrakte Klasse haben, die ganz normale statische Methoden hat.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Objekterstellung bei der Vererbung Java Basics - Anfänger-Themen 7
T OOP Bei Objekterstellung Parameter mitgeben Java Basics - Anfänger-Themen 4
J erstes Prog./Klasse - Konstruktur/Objekterstellung funktioniert nicht Java Basics - Anfänger-Themen 25
G Fehlermeldung ']' expected, Objekterstellung in Laufzeit Java Basics - Anfänger-Themen 8
missy72 Methoden Alle rekusiven Aufrufe abbrechen Java Basics - Anfänger-Themen 21
SaschaMeyer Iterationsdurchlauf abbrechen Java Basics - Anfänger-Themen 16
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
O Endlosschleife abbrechen Java Basics - Anfänger-Themen 10
M JOptionPane Fehler bei "Abbrechen" des Fensters Java Basics - Anfänger-Themen 10
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
N Abbrechen einer Eingabe endet im Fehler Java Basics - Anfänger-Themen 3
M Abbrechen Methode ohne return Java Basics - Anfänger-Themen 3
C InputStreamReader Eingabeprozess abbrechen Java Basics - Anfänger-Themen 8
F Timer abbrechen und wieder starten Java Basics - Anfänger-Themen 5
Z JTextField - getText() Methode abbrechen? Java Basics - Anfänger-Themen 8
A Gui Abbrechen Butto Java Basics - Anfänger-Themen 6
T thread abbrechen Java Basics - Anfänger-Themen 5
P Klassen Bei KeyEvent in KeyListener den Tastendruck abbrechen Java Basics - Anfänger-Themen 5
E Executorservice abbrechen? Java Basics - Anfänger-Themen 2
P Verschachtelte Schleife vorzeitig abbrechen. Java Basics - Anfänger-Themen 50
A for schleife frühzeitig abbrechen Java Basics - Anfänger-Themen 25
P Methoden Methode ohne return abbrechen? Java Basics - Anfänger-Themen 12
M Methode abbrechen funktioniert nicht?! Java Basics - Anfänger-Themen 2
M readXYZ von DataInputStream abbrechen/timeout auslösen Java Basics - Anfänger-Themen 6
F Methode abbrechen Java Basics - Anfänger-Themen 16
R JOptionPane funktioniert nicht mit Abbrechen Knopf Java Basics - Anfänger-Themen 16
J Frame schließen, Ereignis behandeln, Vorgang abbrechen Java Basics - Anfänger-Themen 4
B OOP Objekt klonen (Grundzustand), um in Editor "Abbrechen" zu können Java Basics - Anfänger-Themen 4
S [JAVA] Erstellung eines Objekts abbrechen?! Java Basics - Anfänger-Themen 7
brainray Server abbrechen mit CTRL-C Java Basics - Anfänger-Themen 2
Developer_X Endlos-Schleifen abbrechen Java Basics - Anfänger-Themen 5
S Thread warten abbrechen? Java Basics - Anfänger-Themen 5
S Schleife per Tastendruck abbrechen Java Basics - Anfänger-Themen 7
G Wie entferne ich einen "Abbrechen" Button? Java Basics - Anfänger-Themen 6
A JOptionPane -> abbrechen -> NullPointerException Java Basics - Anfänger-Themen 4
S While-Schleife nach 10 sekunden abbrechen. Java Basics - Anfänger-Themen 20
K void Methode abbrechen Java Basics - Anfänger-Themen 7
G jFileChooser auf den Abbrechen-Button reagieren Java Basics - Anfänger-Themen 3
W Schaltjahr abbrechen wenn <1583 Java Basics - Anfänger-Themen 11
G FileNotFoundException beim Drücken des "Abbrechen" Java Basics - Anfänger-Themen 3
B Programm abbrechen Java Basics - Anfänger-Themen 2
F while mit Enter-Taste abbrechen Java Basics - Anfänger-Themen 13
J Swing Komponente soll Thread starten und abbrechen Java Basics - Anfänger-Themen 6
P FileChooser richtig abbrechen? Java Basics - Anfänger-Themen 3
G REkursion vorzeitig abbrechen Java Basics - Anfänger-Themen 4
G while-Schleife von aussen abbrechen Java Basics - Anfänger-Themen 8
L read() (von bufferedReader) abbrechen Java Basics - Anfänger-Themen 5
G imports einlesen und nach den imports abbrechen Java Basics - Anfänger-Themen 4
L Ablauf abbrechen und zurück Java Basics - Anfänger-Themen 20
V JOP.showInputDialog Abbrechen Button, Exception abfangen Java Basics - Anfänger-Themen 2
G while-Schleife global abbrechen Java Basics - Anfänger-Themen 2
N JOptionPane.showInputDialog Abbrechen abfragen Java Basics - Anfänger-Themen 5
N Konsole: while Schleife durch Tastensruck abbrechen Java Basics - Anfänger-Themen 4
S For-Schleife sauber abbrechen? Java Basics - Anfänger-Themen 9
F Methode abbrechen wie mit break in Schleifen ? Java Basics - Anfänger-Themen 2
S Wie kann ich abbrechen Java Basics - Anfänger-Themen 3
J Schleife vorzeitig abbrechen Java Basics - Anfänger-Themen 7
T Programm so abbrechen, dass finally ausgeführt wird Java Basics - Anfänger-Themen 7
R Abbrechen...aber wie??? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben