Estoy intentando crear una instancia de una clase abstracta de Java a partir de mi código de Groovy. Teniendo en cuenta la siguiente clase abstracta de Java (procesamiento no relevante se despojó de la clase):Cómo crear una instancia de una clase abstracta de Java con un parámetro de constructor con un cierre maravilloso
public abstract class StackOverflow{
public abstract String answerMe();
}
puedo crear una instancia fácilmente en Groovy esta manera, y la llamada a answerMe()
activará la salida correcta:
StackOverflow stack = [answerMe : { "Answer" }] as StackOverflow
Ahora bien, si modifico la clase StackOverflow
añadiendo un parámetro de cadena en el constructor de esta manera:
public abstract class StackOverflowStr{
public StackOverflowStr(String s){}
public abstract String answerMe();
}
realmente no lo conoci w cómo crear una instancia de mi objeto, probé muchas cosas, pero parece que no puedo encontrar la sintaxis correcta, ¿alguien tiene alguna pista?
Gracias lo hice de esta manera, pero me preguntaba si puedo hacerlo con un cierre como en el primer ejemplo. –
@CedricGatay No, si no hay un constructor predeterminado, no puede crear un objeto proxy sin hacer lo que dice Andrea –