Método abstracto con lista variable de argumentos.

No he encontrado una forma elegante de resolver este problema. Tengo una clase abstracta que varias otras clases están heredando con un método abstracto que puede contener desde cero a 4-5 argumentos de diferentes tipos.

public abstract class Item {
public abstract void use();
}

Por ejemplo, tengo una clase de Libro que hereda esto y no toma argumentos cuando reemplaza use (), tengo una clase Clave que hereda y toma una Cadena y una Cola como argumentos cuando reemplaza, etc.

He intentado usar genéricos, pero tengo que ingresar el número utilizado, como Artículo, cuando realmente depende de la clase.

public abstract class Item<T,U> {
public abstract void use(T arg1, U arg2); //Number of arguments/types could be more or less
}

He intentado enviar una lista variable de Objetos, pero los tipos de objeto siempre son variables y no estoy seguro de la sintaxis que se debe recibir en las clases hereditarias.

public abstract class Item<T> {
public abstract void use(T... arguments);
}

public class Book extends Item<?> {
public void use(?);
}

public class Book extends Item<String, Queue> { //Wrong number of arguments since I can't use Item<T...>
public void use(String str, Queue q); //fails
}

Puede que simplemente esté haciendo algo mal. ¿Alguien puede ofrecer ayuda o información?

Respuestas a la pregunta(5)

Su respuesta a la pregunta