java泛型的未知问题

fkaflof6  于 2021-07-05  发布在  Java
关注(0)|答案(2)|浏览(343)

我第一次尝试在java中使用泛型类型,因为我只希望我的构造函数接受实现“analable”接口的类。我的代码有一个问题,唯一的错误是“非法启动类型”,这是不太远,试图使它工作
这是我的班级代码

package simulated_anealing;

public class Crystal extends Thread {

    Object a;

    public  Crystal(<? implements Anealable> a)
    {
        this.a = a;
    }

}
xdnvmnnf

xdnvmnnf1#

我假设你想参数化这个类。如果是,那么:

public class Crystal<T extends Anealable> extends Thread {
  Object a;

  public  Crystal(T a) {
    this.a = a;
  }
}

或者,可以这样参数化方法(包括构造函数):

public class Crystal extends Thread {
  public <T extends Anealable> Crystal(T t) {
    // do stuff with T
  }
}

很难确定你的意图是什么,所以我不能真正评论哪一个适合你的需要。

xqnpmsa8

xqnpmsa82#

为什么不把一个可扩展的类型传递给构造函数,如下所示:

package simulated_anealing;

public class Crystal extends Thread {

    Object a;

    public  Crystal(Anealable a)
    {
        this.a = a;
    }

}

相关问题