Наличие интерфейса не означает, что переменная будет разделена между классами, это скорее способ определения классов, которые ДОЛЖНЫ переопределять функции в интерфейсе. Вы можете прочитать о них здесь . Чтобы разделить переменную между двумя классами, вы можете либо сделать переменную статической, и поместить ее в другой класс, который расширяет оба ваших класса (в действительности это глобальная переменная, что является плохой практикой и не является поточно-ориентированной), или иметь один из классов экземпляр другого и вызовет получателей / установщиков.
РЕДАКТИРОВАТЬ: есть похожий вопрос здесь , который показывает вам, что я имею в виду о статической переменной.