有如下代码:   1.LinearList.java //线性表的相关操作
   public abstract class LinearList {
    
    abstract public int length();
    
    abstract public boolean isEmpty();
    
    abstract public boolean isFull();
    
    abstract public Object get(int i);
    
    abstract public Object get();
    
    abstract public boolean insert(int i,Object obj);
    
    abstract public boolean insert(Object obj);
    
    abstract public int indexOf(Object obj);
    
    abstract public Object search(Object obj);
    
    abstract public boolean remove(int i);
    
    abstract public boolean remove();
    
    abstract public void sort(LinearList sorter);
    
    abstract public  Object set(int i,Object obj);    
      
    abstract public void seek(int curr);        
    
    abstract public void sort(int from,int to,int order);    
      
} 2.ListSorter.java//接口   interface ListSorter {
public void sort(LinearList list);}interface Compare{
int compareTo(Object obj);
}
 3.InsertionSort.java//插入排序public class InsertionSort implements ListSorter {
public void sort(LinearList list) {
// TODO Auto-generated method stub
int i=2,j;
int size=list.length();
Object tem=list.get(i);
for(i=2;i<=size;i++){
tem=list.get(i);
for(j=i-1;j>0;j--){
if(((Compare)tem).compareTo(list.get(j))<0) list.set(j+1,list.get(j));
else {
break;
}
}
list.set(j+1,tem);
} }}4.ArrayList.java//LinearList的具体实现,部分代码public class ArrayList extends LinearList{
private Object table[];
int size;
int current;

public ArrayList(int n){
table=new Object[n];
size=0;
current=-1;
}

public int length(){
return size;
}
}
  我的问题:红色标示的代码该如果理解?(Compare)tem是强制将tem转换为Compare接口,能够将Object强制转换为接口吗?我自己写了一个测试的程序如下,运行就报错,不能转换,请问何解??ArrayList.java//自己写的一个测试程序
package com.zoe.ds;
public class ArrayList {//implements ListSorter
private Object test;
private Object test2;
public ArrayList(Object obj,Object obj2){
this.test=obj;
this.test2=obj2;
}
public Object get(Object obj){
return obj;
}

public void sort(){
System.out.println("Test");
if(((CompareDB)test).compareTo(test2)<0){
System.out.println("ok");
}
}
}CompareDB.java//类似的接口
package com.zoe.ds;
interface ListSorter {
public void sort();} interface CompareDB {
 int compareTo(Object obj);
}
testCompare.java//执行程序
package com.zoe.ds;
public class testCompare { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub ArrayList arl=new ArrayList(new Integer(15),new Integer(24));
arl.sort();
}}
 运行报错:Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to com.zoe.ds.CompareDB
 at com.zoe.ds.ArrayList.sort(ArrayList.java:16)
 at com.zoe.ds.testCompare.main(testCompare.java:14)