Сохраняя это простым ...
1.
Если Foo всегда нужно знать myInteger из Bar, передайте его в конструктор.
2.
Если Foo только иногда нужно знать myInteger, тогда вызывайте сеттер после конструктора.
Если Foo требуется больше, чем myInteger, то есть весь объект Bar, тогда Bar может передать себя с помощью ключевого слова this.
public class Foo
{
public Foo(Bar bar)
{
//Do something with Bar
}
}
// Где-то в Bar (нестатическим способом)
новый Foo (это);