Неизвестная проблема с Java Generics - PullRequest
0 голосов
/ 31 октября 2009

Я впервые пытаюсь использовать универсальные типы в Java, так как я только хочу, чтобы мой конструктор принимал классы, реализующие интерфейс "Anealable". есть проблема с моим кодом из-за единственной ошибки, которую я получаю, это «Неверное начало Типа», которая не слишком старается заставить его работать

вот код для моего класса

package simulated_anealing;

public class Crystal extends Thread {

    Object a;

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

}

Ответы [ 2 ]

6 голосов
/ 31 октября 2009

Почему бы вам просто не передать конструктору тип Anealable, подобный этому:

package simulated_anealing;

public class Crystal extends Thread {

    Object a;

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

}
3 голосов
/ 31 октября 2009

Полагаю, вы хотите параметризовать класс. Если так, то:

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
  }
}

Трудно определить ваши намерения, поэтому я не могу прокомментировать, что подойдет вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...