public class Test extends Btring>{ String foo() { return null; } void bar() { if (foo() == null) {} } } abstract class A { abstract T foo(); } abstract class B extends A { }