2017-12-11 7 views
-2

Also was ich hier habe, ist eine abstrakte Klasse in Java. Ich muss Setter und Getter-Funktionen für setupCostBase und monatlichCostBase machen, damit sie Werte von den anderen Unterklassen im Projekt aufnehmen können. Immer, wenn ich versuche, den Setter zu machen, bekomme ich immer eine Fehlermeldung "< Identifier> expected".Erstellen von Methoden in einer abstrakten Klasse

Nicht ganz sicher, wie das zu beheben ist.

abstract public class Carrier { 

    private String name = "Unknown Carrier"; 
    private double setupCostBase = 0.00; 
    private double monthlyCostBase = 0.00; 

    public Carrier(String name){ 
     this.name = name; 
    } 

    @Override 
    public String toString(){ 
     return name; 
    } 

    private void setSetupCost(setupCostBase){ 
     this.setupCostBase = setupCostBase; 
    } 
} 
+0

Dies ist ein wirklich schlechter Titel für Ihre Frage. Der Titel legt nahe, dass es sich um Methoden handelt, aber Sie haben nur einen einfachen Syntaxfehler. – Robert

Antwort

2

"<identifier> expected" ist eine Art von allgemeiner Fehler was darauf schließen lässt, dass die Syntax falsch ist.

In diesem Fall haben Sie erklärt nicht den Typ des Parameters setupCostBase in dieser Methode:

private void setSetupCost(setupCostBase){ 

Es sollte sein, double:

private void setSetupCost(double setupCostBase){ 
0

Es ist, weil Ihr setSetupCost() nicht hat eine Art für setupCostBase. Versuchen Sie folgendes:

private void setSetupCost(double setupCostBase){ 
    this.setupCostBase = setupCostBase; 
} 
0

Zunächst einmal Ihre Setter sollte von außen sichtbar sein, so dass sie nicht privat sein sollte. Auch in Ihrem Beispiel haben Sie den Typ des Methodenparameters vergessen. Ihre Einstellungen sollten wie folgt aussehen:

public void setSetupCostBase(double setupCostBase) { 
    this.setupCostBase = setupCostBase; 
} 

public void setMonthlyCostBase(double monthlyCostBase) { 
    this.monthlyCostBase = monthlyCostBase; 
} 
Verwandte Themen