2个CLASS agreement & agreementComparator.就是从 agreement 里有一个方法 public Class getComparator(),可以调到agreementComparator.
方法本身没有argument.
但是 agreementComparator本身的 constructor却要求有参数,而且参数是 agreement 型的,
 new agreementComparator(agreement a)也就是说,比如agreement的实例 a 要调用一个方法,传递的其实是自己本身为参数,但是方法本身不能传递参数啊。 这个能实现吗?因为是根据javadoc写程序,所以这些要求都不能改的说

解决方案 »

  1.   

    getComparator的返回是Class,能得到agreementComparator?
    会不会是public agreementComparator getAgreementComparator()?不然好像难以实现楼主的需求啊
    public class T1005 {
    public static void main(String args[]){
    Agreement a = new Agreement();
    System.out.println(a.getAgreementComparator());
    }
    }class Agreement{
    private int id=1;
    public AgreementComparator getAgreementComparator(){
    return new AgreementComparator(Agreement.this);
    }
    public String toString(){
    return "1";
    }
    }class AgreementComparator{
    private String id;
    public AgreementComparator(Agreement a){
    id = "comparator "+a.toString();
    System.out.println(a);
    }

    public String toString(){
    return id;
    }
    }
      

  2.   

    我也是这么想的,但是他的要求就是返回Class型,正是为这个痛苦阿
      

  3.   

    我是这么 写 的,但是编译的时候报错说  public Class getComparatorClass(){
      
       return (Class)(new AgreementComparator(AgreementChoice.this));
      }
    can not cast from AgreementComparator to Class
      

  4.   

    return new AgreementComparator(Agreement.this).getClass();