# Java Abstrakte Klassen Problem



## Rokar_Java (23. Apr 2018)

Hallo, ich hab folgendes Problem das mein Programm nicht läuft und ich nicht weis was für ein Fehler ich habe ich bitte dringend um Hilfe.
Fehler:
RokarP69\ware.java:9:9: error: ware is not abstract and does not override abstract method compareTo(Object) in Comparable

```
/**
*
* Beschreibung
*
* @version 1.0 vom 23.04.2018
* @Rokar Ali
*/
package RokarP69;
public class ware implements Comparable{
 
   private String bezeichnung;
   private double preis;
 
   public ware (String bezeichnung, double preis) {
     this.bezeichnung=bezeichnung;
    if (preis<=0.0) throw new IllegalArgumentException ("Falscher Preis");
    this.preis=preis;
    }
    public String getBezeichnung() {
      return bezeichnung;
    }
    public double getPreis() {
      return preis;
    }
    public int compareTo(ware andereware) {
      return this.bezeichnung.compareTo(andereware.bezeichnung);
    }
 

} // end of class ware
```

und das gehört dazu:

```
/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 23.04.2018
  * @Rokar Ali
  */
  
   import java.util.*;
   import RokarP69.*;
  
public class verkaufsliste {
 
  public static void main(String[] args) {
    ware[] warenliste=new ware[4];
    warenliste[0]=new ware ("Eimer",4.88);
    warenliste[1]=new ware ("Besen",8.95);
    warenliste[2]=new ware ("Lappen",0.95);
    warenliste[3]=new ware ("Klinge",0.68); 
  } // end of main
 
} // end of class verkaufsliste
```


----------



## Flown (23. Apr 2018)

Dein Klassenheader sollte so aussehen:

```
public class ware implements Comparable<ware>{
```
Geschweige davon, dass man Klassen in UpperCamelCase schreibt (i.e. class Ware ...).


----------



## stg (23. Apr 2018)

Alternativ wie vom Compiler gefordert die Methode `compareTo(Object)` überschreiben. Aber sofern möglich solltest du den von Flown genannten Weg gehen.


----------

