Есть ли конкретная причина, по которой вы хотите, чтобы атрибут был статическим? В Java типичный способ сделать это состоит в том, чтобы A содержал защищенную переменную, которую вы затем устанавливали в конструкторах 2 классов:
public class A
{
protected int CLASS_ATTRIBUTE;
public A()
{
CLASS_ATTRIBUTE = 42;
}
public String f()
{
return "CLASS_ATTRIBUTE: " + CLASS_ATTRIBUTE;
}
}
public class B extends A
{
public B()
{
CLASS_ATTRIBUTE = 44;
}
}
В качестве альтернативы (и, возможно, более совместимой с шаблонами проектирования Java) вы бы объявили функцию, которую вы можете переопределить для возврата значения вместо использования переменной-члена.