In my simple case I had to inherit B and C from abstract class, that incapsulates equal methods of B and C. So that
     A
     |
   Abstr
    / \
   B   C
While it doesn't solve the problem, it can be used in simple cases, when C is similar to B. For instance, when C is initialized, but doesn't want to use initializers of B. Then it simply calls Abstr methods.
This is a common part of B and C:
public abstract class Abstr extends AppCompatActivity {
    public void showProgress() {
    }
    public void hideProgress() {
    }
}
This is B, that has it's own method onCreate(), which exists in AppCompatActivity:
public class B extends Abstr {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); // Call from AppCompatActivity.
        setContentView(R.layout.activity_B); // B shows "activity_B" resource.
        showProgress();
    }
}
C shows its own layout:
public class C extends Abstr {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); // Call from AppCompatActivity.
        setContentView(R.layout.activity_C); // C shows "activity_C" resource.
        showProgress();
    }
}