我刚刚开始学习JAVA..对概念经常混淆..最近在做一个PROJECT..我目前有两个CLASS,分别是public abstract class Media implements Comparable<Media>和public class Book extends Media我在BOOK CLASS目前写的只有
public Book(String aType,String aTitle,String aAuthor,double aPrice,int aPublishYear)
   {
     super(aType,aTitle,aAuthor,aPrice,aPublishYear);
     
   }
但是却compile不了..说是Book 不是抽象的,并且未覆盖 java.lang.Comparable 中的抽象方法 compareTo(Media)我不太懂这个错误..请哪位高手指点一下..谢谢了..

解决方案 »

  1.   

    Media是个abstract类
    如果Book类要继承于Media抽象类,并且Book类不是抽象的:
    1 如果Media类中有抽象方法,那Book就要实现Media类中的抽象方法
    2 如果Media类中没有抽象方法,那Book直接继承就可以了
      

  2.   

    Book 里要对Comparable<Media> 里的接口都有实现才可以。
      

  3.   

    也就是说你的Book类没有实现java.lang.Comparable中的接口compareTo(Media)。 两个解决办法:1. 在你的Book类加一个方法如下
    int compareTo(Media){
    //实现该的方法以用于排序操作
    }2. 将Book类定义为抽象类
      

  4.   

    写一个public int compareTo(Media)的方法
    返回值是根据比较的结果来返回,如果前者大于后者,返回正数,等于返回0,小于返回负数