public class MyArrayImp<T extends Comparable<T>> implements MyArray<T> {
private MyArrayImp[] m;
private int i;
private T element;
@Override
public T get(int i) {
return (T) m[i].element;
}
@Override
public void set(int i, T e) {
m[i].element = e;
}
etc...
Я хочу реализовать общий класс массива, имеющий следующий интерфейс с классом MyArrayImp
public interface MyArray<T extends Comparable<T>> {
T get(int i);
void set(int i, T e);
int min();
int max();
int nbBetween(T e1, T e2);
}
наконец, создайте класс MyArrayFactory, который создает и возвращает массив размера n public static> MyArray getMyArray (int n) {return new ...; }
Мне не нужен метод, я просто хочу знать, как реализовать класс с интерфейсом и создать объект из другого класса.
Я не понимаю, почему ваши участники определены как частные MyArrayImp [] m; частный int i; частный элемент T; Вам нужно только иметь закрытый член T [] elements




Я бы определил так:
public class MyArrayImp<T extends Comparable<T>> implements MyArray<T> {
private T[] m;
@SuppressWarnings("unchecked")
public MyArrayImp(Class<T> clazz, int size) {
this.m = (T[]) Array.newInstance(clazz, size);
}
@Override
public T get(int i) {
return m[i];
}
@Override
public void set(int i, T e) {
m[i] = e;
}
...etc
Непонятно, о чем вы спрашиваете. Вы можете уточнить?