Вы можете иметь конструктор в абстрактном классе, который принимает параметры init. Спецификация Java только указывает, что у анонимного класса, который является потомком (необязательно) абстрактного класса или реализации интерфейса, не может быть конструктор по своему собственному праву.
Следующее абсолютно законно и возможно:
static abstract class Q{
int z;
Q(int z){ this.z=z;}
void h(){
Q me = new Q(1) {
};
}
}
Если у вас есть возможность написать абстрактный класс самостоятельно, поместите такой конструктор туда и используйте свободный API, где нет лучшего решения. Таким образом, вы можете переопределить конструктор вашего исходного класса, создав именованный родной класс с конструктором с параметрами, и использовать его для создания экземпляра вашего анонимного класса.