Methoden Beliebig viele Objekt-Eingabeparameter im Konstruktor

JBJ

Mitglied
Hallo!

Ich sitze hier grade vor einem kleinen Problem. Ich habe eine Klasse "Oberklasse" erstellt:

Java:
public class Oberklasse {
    int att;
    
    public Oberklasse(int att){
        this.att=att;
    }
}

Diese Klasse hat ein Attribut zugewiesen und einen einfachen Konstruktor.

Ich möchte nun in der Klasse "Unterklasse" einen Konstruktor erstellen, der es mir erlaubt, beliebig viele Objekte der Klasse "Oberklasse" als Eingabeparameter zu verwenden. Die Werte der jeweiligen att sollen addiert werden und ein neues Objekt mit diesen Eigenschaften erzeugt werden. Hier mein bisheriger Versuch:

Java:
public class Unterklasse extends Oberklasse{
    
    public Unterklasse(Oberklasse ...Werte){

        int sum=0;
        for(Oberklasse x: Werte){
            sum=sum+x.att;
        }
        super.att=sum;
    
    }
}

Leider kommt die Fehlermeldung, dass der Konstruktor nicht auf dieses Datentyp angewendet werden kann. Gesucht: int, Gefunden: keiner.

Über schnelle Hilfe wäre ich sehr dankbar :)
 

Zettelkasten

Aktives Mitglied
Du musst den Konstruktor deiner Oberklasse in dem Konstruktor deiner Unterklasse aufrufen. Denn deine Unterklasse ist auch nur eine Oberklasse.
 

JBJ

Mitglied
Danke für die schnelle Antwort!

Leider bin ich noch nicht 100% erleuchtet. Beziehst du dich auf den super() Befehl?

Denn da treten meines Wissens nach 2 neue Probleme auf. Entweder der super(sum) Befehl steht ganz oben im Konstruktor und die Variable sum ist dort noch garnicht existent.

Java:
public class Unterklasse extends Oberklasse{
    
    public Unterklasse(Oberklasse ...Werte){
        
        super(sum);
        int sum=0;
        for(Oberklasse x: Werte){
            sum=sum+x.att;
        }
    
    }
}

Oder der super(sum) Befehl steht nach der Operation. Das ist allerdings nicht erlaubt, weil der super() Befehl immer ganz oben im Konstruktor stehen muss.

Java:
public class Unterklasse extends Oberklasse {

    public Unterklasse(Oberklasse... Werte) {

        int sum = 0;
        for (Oberklasse x : Werte) {
            sum = sum + x.att;
        }
        super(sum);

    }
}

Kannst du das vielleicht noch ein wenig genauer erläutern? Danke!
 

Zettelkasten

Aktives Mitglied
Ja, ich beziehe mich auf super().

Wenn du keinen super-Befehl expliziet hinschreibst, ruft Java immer gleich super(); auf - deshalb kommt es bei dir zu einem Fehler.

Du musst entweder eine dritte Funktion einbauen, die dein Konstruktor dann aufruft, z.B:
Java:
public Unterklasse(Oberklasse ...Werte){
        
        super(getAttSum(Werte));
    
    }

Oder du machst eine statische Funktion, die dann anstelle des Konstruktors das Objekt zurückgibt:
Java:
public static Unterklasse merge(Oberklasse... Werte) {
  int sum=0;
        for(Oberklasse x: Werte){
            sum=sum+x.att;
        }
  return new Unterklasse(sum);
}
public Unterklasse(attSum){
        
        super(attSum);
    
    }

Lg Zettelkasten
 

JBJ

Mitglied
Danke für die ausführliche Antwort.

Bisher sieht meine Unterklasse nun so aus:

Java:
public class Unterklasse extends Oberklasse {
    
    public Unterklasse(Oberklasse ...Werte){
        
        super(getAttSum(Werte));
        
    }
    
    public int getAttSum(Oberklasse ...Werte){
        int sum= 0;
        for(Oberklasse x: Werte){
            sum=sum+x.att;
        }
        return sum;
    }
}

Nun erscheint die Fehlermeldung:

cannot reference this before supertype constructor has been called.
 

Zettelkasten

Aktives Mitglied
Du hast ein
Code:
static
vergessen:
Java:
public int getAttSum(Oberklasse ...Werte){
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
T Variablen Beliebig viele Arrays in Schleife erstellen Java Basics - Anfänger-Themen 1
B Beliebig viele Rechtecke erzeugen Java Basics - Anfänger-Themen 5
N Beliebig viele parameter Java Basics - Anfänger-Themen 3
Prafy Beliebig viele Arrays erstellen? Java Basics - Anfänger-Themen 2
T Beliebig viele Werte in Array zwischenspeichern Java Basics - Anfänger-Themen 15
H Reflexion: Eine Methode, beliebig viele Parameter (Java 1.4.2) Java Basics - Anfänger-Themen 8
M Arrayliste mit beliebig vielen Namen befüllen Java Basics - Anfänger-Themen 4
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
V Erste Schritte Taschenrechner mit beliebig vielen Zahlen Java Basics - Anfänger-Themen 5
JDimi Textdatei mit beliebig vielen Zeilenumbrüchen erstellen Java Basics - Anfänger-Themen 2
RowdyN Variablen Variablen beliebig benennen? Java Basics - Anfänger-Themen 6
W Klassen [GELÖST] Objekte während der Laufzeit mit neuen veränderten Werten beliebig oft initialisieren Java Basics - Anfänger-Themen 2
M Erzeugen beliebig vieler Objekte, aber wie wechselnde Bezeichner? Java Basics - Anfänger-Themen 5
P Schneller Quadratzahltest für beliebig große natürliche Zahlen Java Basics - Anfänger-Themen 2
T beliebig langes Array berechnen Java Basics - Anfänger-Themen 4
G Eingabe beliebig lang machen Java Basics - Anfänger-Themen 8
H Die Eingabe von beliebig vielen Zahlen in ein Array - ich kann es nicht Java Basics - Anfänger-Themen 6
R Regexp nur Buchstaben und Ziffener beliebig oft Java Basics - Anfänger-Themen 3
A Beliebig Java Basics - Anfänger-Themen 3
B Screenshots machen und zwar viele und speichern Java Basics - Anfänger-Themen 12
H So viele Fehlermeldungen, dass ich nicht weiß wo das Problem ist. Java Basics - Anfänger-Themen 6
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
P Nutzer entscheiden lassen, wie viele Zahlen dieser in ein Array eingeben möchte. Java Basics - Anfänger-Themen 6
S Hilfe : Unendlich viele Zufallszahlen erstellen? Java Basics - Anfänger-Themen 8
I Wie viele 1 an Bits hat die Zahl x? Java Basics - Anfänger-Themen 5
R Zu viele leere Parameter Java Basics - Anfänger-Themen 8
M Aufgabe: Eine Klasse und viele Untermethoden Java Basics - Anfänger-Themen 30
D Klassen Doppelt so viele Elemente in Arraylist ? Java Basics - Anfänger-Themen 4
D zu viele MySQL Connections Java Basics - Anfänger-Themen 18
F Threads ftp4j, viele Dateien upload Java Basics - Anfänger-Themen 5
L Viele Fragen zu den Grundlagen Java Basics - Anfänger-Themen 5
D Viele grafische unterschiede von Windows xp zu Windows 7 Java Basics - Anfänger-Themen 3
T unterschiedlich viele parameter übergeben Java Basics - Anfänger-Themen 5
T Zu viele Fenster - HILFE! Java Basics - Anfänger-Themen 5
T viele "kleine" Fragen... Java Basics - Anfänger-Themen 3
M Zu viele Verkettungen von Klassen Java Basics - Anfänger-Themen 4
G Erste Schritte Wie viele Montage gab es? Java Basics - Anfänger-Themen 14
M Input/Output Viele short aus Datei lesen und von Little Endian zu Big Endian umwandeln Java Basics - Anfänger-Themen 12
S Variablen viele Instanzvariablen vermeiden Java Basics - Anfänger-Themen 14
El_Lobo Methoden Zu viele Getter- und Settermethoden - geht das einfacher? Java Basics - Anfänger-Themen 3
L buffered reader produziert zu viele und seltsame zeichen Java Basics - Anfänger-Themen 2
D Erste Schritte Viele Objekte einer Klasse "verwalten" Java Basics - Anfänger-Themen 17
S Viele Fragen von einem Anfänger in Java Java Basics - Anfänger-Themen 2
F Viele Controller-Klassen Java Basics - Anfänger-Themen 5
P Datentypen extrem viele Fehler nur irgendwie seh ich den Grund ned... Java Basics - Anfänger-Themen 3
M Viele GUI-Variablen Java Basics - Anfänger-Themen 4
O Wie kann man das einfach lösen? (dynamisch viele Attribute) Java Basics - Anfänger-Themen 6
U JTable viele möglichkeiten, keine Lösung Java Basics - Anfänger-Themen 5
M Viele verschachtelte Schleifen Java Basics - Anfänger-Themen 14
Avalarion Erschaffung eines Shadowrun Charaktergenerators - Viele, Viele Fragen! Java Basics - Anfänger-Themen 6
S Viele Konstanten, EnumSet? Java Basics - Anfänger-Themen 3
S Stilfrage: Neue Klasse wenn es in einer Klasse zu viele Methoden gibt? Java Basics - Anfänger-Themen 14
Kasu So viele "_ " ausgeben, wie ein String lang ist Java Basics - Anfänger-Themen 4
I viele Dateinamen in ein String-Array mit File().list() Java Basics - Anfänger-Themen 4
mwildam Textfile lesen und schreiben - so viele Möglichkeiten Java Basics - Anfänger-Themen 5
U Zu viele werte in einer klasse Java Basics - Anfänger-Themen 4
K Viele Fragen eines Anfängers-Fließkommazahlen/Typenwandlung Java Basics - Anfänger-Themen 5
W Viele Objekte mit einem Konstrukor erzeugen Java Basics - Anfänger-Themen 10
R einfaches Programm, viele Probleme Java Basics - Anfänger-Themen 29
G viele zahlen mit wenig code Java Basics - Anfänger-Themen 4
X 1 MySQL-Verbindung und viele Threads Java Basics - Anfänger-Themen 4
E Viele Fragen Java Basics - Anfänger-Themen 8
J viele Objekte erzeugen Java Basics - Anfänger-Themen 21
J Große *.Text Datei zum verschicken in viele kleine Java Basics - Anfänger-Themen 7
O viele Name mit jeweils zugehörigen Status in .txt Speichern Java Basics - Anfänger-Themen 16
K ResultSet: Wie viele Rows beinhaltet es? Java Basics - Anfänger-Themen 6
X Viele Komponenten automatisch erzeugen Java Basics - Anfänger-Themen 2
C zu viele paint()'s. Java Basics - Anfänger-Themen 6
M Viele Textfelder auslesen Java Basics - Anfänger-Themen 3
P x-viele Variablen anlegen Java Basics - Anfänger-Themen 2
F Mit der Zahl n n-viele Arrays erstellen ?! Java Basics - Anfänger-Themen 4
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
Rxiiz Objekt aus ComboBox entfernen Java Basics - Anfänger-Themen 4
I JSON in Objekt umwandeln Java Basics - Anfänger-Themen 3
P Objekt einer Methode eines anderen Objektes übergeben Java Basics - Anfänger-Themen 5
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
Say Objekt Java Basics - Anfänger-Themen 4
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
T Wie kann man es machen das ein Objekt nicht übermalt wird Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
I Entity Objekt nicht gefunden -> Webhook empfangen in der gleichen Methode (Transaktion) Java Basics - Anfänger-Themen 37
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
K wie kann ich alle Attribute von dem Objekt(pagode) ausgeben lassen ? Java Basics - Anfänger-Themen 3
H Ein übergegebenes Objekt auf null setzen Java Basics - Anfänger-Themen 9
M BlueJ Objekt in Objektliste Java Basics - Anfänger-Themen 2
B Objekt in Klassendiagramm an fremdes Objekt weiterreichen? Java Basics - Anfänger-Themen 6
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
amelie123456 Objekt Farbe Quellcode Java Basics - Anfänger-Themen 4
M Objekt in einem Objekt speichern Java Basics - Anfänger-Themen 9
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
J Hinzufügen eines Objektes in ein Objekt-Array Java Basics - Anfänger-Themen 62
O Warum bekommen wir nicht die Referenz vom zurückgegebenen Objekt? Java Basics - Anfänger-Themen 4
K Ein Objekt Auto kennt den Inhalt seines links und rechtsstehenden Autos, wie soll man das ermöglichen Java Basics - Anfänger-Themen 2
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben