Konstruktor mit Rückgabe

Status
Nicht offen für weitere Antworten.
H

Hendrik

Gast
Hallo,
ich möchte eine Klasse erstellen die im Konstruktor die Übergebenen Werte prüft und ggf. eine Fehler zurück giebt! Ist das möglich?
Gruss HP
 
R

Roar

Gast
schonmal was von exceptions gehört?
Code:
class Foo {

public Foo(int bar) {
if( bar < 0 ) throw new IllegalArgumentException("Param 'bar' must be positive!"); 
//tu wat
}
}
8)
 

sigma

Mitglied
exceptions sind gut. aber steure dein programm nie über die exceptions. dies ist unschön und unleserlich.
 

Samurider

Aktives Mitglied
Ich finde das mit den Exceptions nicht unschön.
Gibt es eine bessere Alternative?

Vielleicht die Validierung nicht im Konstruktor durchführen, sondern in einer separaten Methode, die von aussen angestossen wird.

JT
 

me.toString

Bekanntes Mitglied
Mach doch deinen Konstruktor privat - somit kann ihn keiner direkt aufrufen. Dann noch eine statische methode z.B.
Code:
public static MeineKlasse createInstance()
der du alle Parameter mitgibst ... die methode prüft die Parameter ... wenn alles ok ist erzeugst du das Objekt (darfst du ja, da du ja in der selben Klasse bist) und gibst das Objekt zurück. wenn es Probleme gibt, gibst du null zurück. Nun muss der Aufrufer nur noch den Rückgabewert richtig auswerten.
Fertig.
 

sigma

Mitglied
hab ich mal gelesen das man ein programm nicht mit exceptions steuern darf. anscheinend ist dies eine, wie nennt man das schon wieder, nicht ofizelle regel :?

entweder versuchts du das auserhalb zu erledigen oder machst es wie schon erwähnt über den singleton. kannst natürlich auch das objekt erzeugen und dann eine methode aufrufen, die dir diese prüfung durchführt
 
B

Beni

Gast
Es geht wohl darum, dass Exceptions für grobe Fehler reserviert bleiben sollen.
z.B. wenn man die Grösse eines Rechteckes auf -1/-3 setzen will.
 
R

Roar

Gast
@Beni: äh.. und was ist wenn Hendrik jetzt wirklich ein Rechteck in seiner Klasse zeichnen will ? wir wissen ja nicht was hendrik vorhat :) .
und wenn man einer klasse halt nur positive zahlen übergeben darf, dann ist eine IllegalArgumentException auch dazu da, und da gibt's keine differenzierung zwischen "groben" und "nicht groben" fehlern ....
 

Schnapsfahne

Mitglied
Hallo,

hab über Suchen schon einiges gelesen, aber ich konnte das auf mein Beispiel noch nicht Anwenden.
Ich müsste auf ein ArrayList einer anderen Klasse zugreifen, bzw. es über return zurückbekommen.
Nur ich bekomme dann immer Fehlermeldungen, wie ich mit meinem beschränkten halbwissen meine, das es richtig sein müsste.

ArrayList canvas = new ArrayList();
Senden senden = new Senden( c, posit );
// canvas = new Senden(c, posit);

Klasse mit dem ArrayList:

Socket s = new Socket(ip, port);

PrintStream outToServer = new PrintStream(s.getOutputStream());
outToServer.println("1");

BufferedReader in = new BufferedReader
(new InputStreamReader(s.getInputStream()));
ArrayList groesse = new ArrayList();
while ((line = in.readLine()) != null ){
ausgabetext = line;
groesse.add(ausgabetext);
}


Mit canvas dachte ich mir, könnte ich evtl. über ein return der arrayliste diese auffangen, aber angeschmiert.
über klassenname.groesse kann ich halt auch nicht auf die arrayliste zugreifen.
Hoffe ich konnte mein Problem hier etwa veranschaulichen.
Falls etwas unklar sein sollte, weswegen ihr mir nicht helfen könnt, einfach Fragen stellen.
 
R

Roar

Gast
:?: ´
nur so aus reiner neugier: was hat das jetzt mit dem thread hier zu tun?
 
B

Beni

Gast
Falls etwas unklar sein sollte...

Allerdings (und ich denke da nicht nur an die Bemerkung von Roar)

1. Was ist "Senden"? Von was erbt es, was soll es?
2. Schon bemerkt, dass man in diesem Forum Code mit [ code ] und [ /code ] umklammern kann? (Das Syntaxhighlighting macht viele Menschen hilfsbereiter :wink: )
3. Was für eine Fehlermeldung bekommst Du? Von wem? Wann?
4. Wenn Du Code postest, dann bitte so, dass man die grösseren Zusammenhänge erkennen kann :wink: (ich weiss, das ist nicht so einfach. Im Zweifellsfalle einfach mal zuviel posten, die Leute werden schon reklamieren wenn's zuviel ist). Ich weiss nämlich absolut nicht, wie deine beiden Schnippsel zusammenpassen (ja, ok, ich hab eine Vermutung, aber die könnte falsch sein. Und bevor ich den Aufwand mache eine Riesenlösung zu posten, will ich sicher sein, dass sie überhaupt gesucht wird)

mfg Beni
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
C Konstruktor mit und ohne Parameterliste Java Basics - Anfänger-Themen 13
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
T Konstruktor mit Referenzdatentypen Java Basics - Anfänger-Themen 5
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
T setter im Konstruktor einbauen? Java Basics - Anfänger-Themen 8
R ArrayList im Konstruktor. Java Basics - Anfänger-Themen 4
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
C Generic im Konstruktor Java Basics - Anfänger-Themen 1
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
B Konstruktor Problem Java Basics - Anfänger-Themen 8
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
O Konstruktor und Default Konstruktor Java Basics - Anfänger-Themen 7
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
I Vererbung Frage zum Konstruktor Java Basics - Anfänger-Themen 5
Y Konstruktor - Setter/Getter Java Basics - Anfänger-Themen 3
P Konstruktor Java Basics - Anfänger-Themen 4
E Initialisierung von Attributen und Konstruktor Java Basics - Anfänger-Themen 0
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
M Objekt Array an konstruktor übergeben und Initialisieren Java Basics - Anfänger-Themen 1
llabusch Vererbung Super Konstruktor Java Basics - Anfänger-Themen 5
P Erste Schritte WindowBuilder erstellt Konstruktor wie zugreifen Java Basics - Anfänger-Themen 5
M Parameter von Konstruktor, der Superklassen-Konstruktor aufruft Java Basics - Anfänger-Themen 2
V Was soll alles in den Konstruktor? Java Basics - Anfänger-Themen 3
J Objektwerte addieren / Konstruktor Java Basics - Anfänger-Themen 19

Ähnliche Java Themen

Neue Themen


Oben