Is it possible in java to define an abstract method with wildcard but in the implementation use a concrete type
eg:
Define the abstract method in an abstract class like this
public abstract class AbstractAuthorizer {
abstract protected <T extends User> void authorize( T user );
}
Implement the abstract method like this, where CorporateUser extends User :
public class CorporateAuthorizer extends AbstractAuthorizer {
@Override
protected <CorporateUser> void authorize(CorporateUser user){
}
}