Если под совместным использованием вы подразумеваете доступ к значениям object1 и object2 в любом месте кода, тогда эти переменные должны быть статическими, если вы имеете в виду, что после инициализации ClassA в вашем коде и если вы хотите получить доступ к object1 и object2, тогдапеременные должны быть открытыми.
Это то, что вы имеете в виду под общим доступом?
Уточнение:
Тогда члены object1 и object2 должны быть статическими, но если вы хотите сохранитьprivate Вы должны объявить эти переменные в абстрактном классе, а ClassA и ClassB наследуют этот класс.
public abstract class ClassAB{
protected SharableClass object1;
protected SharableClass object2;
}
public class ClassA extends ClassAB{
//Change object1 and object2 (changes are applied in all ClassAB)
}
public class ClassB extends ClassAB{
//Change object1 and object2 (changes are applied in all ClassAB)
}