object oriented design – Is it wrong to extend an inner static class in java? (Builder pattern)

I’m working on a java project for the university. The project is a card game in which you travel around a 2D map and fight against some enemies. My part consists of creating the deck and the cards.

I made the card interface, an abstract card and an implementation that extends the abstract card and implements the interface.

Now I also want an internal static builder in the abstract class and a related builder implementation in all classes that extend the abstract class (because if the new card has a new field I also want to add it in the builder). I have extended the builder in the implementation, but I don’t know if it is correct to extend a static class.

The idea came to me from:

Effective Java, 3rd edition, Joshua Bloch, Item 2: Consider a builder when faced with many constructor parametersconstructor parameters

The question is: Is it correct to extends a static inner class?

Because what I would mainly like is to “force” all classes that extend the abstract class to have a builder, since the constructor has many parameters.