Нет, без геттера невозможно. Ключевое слово this всегда будет указывать на текущий экземпляр. Мне очень любопытно, почему вы хотели бы сделать это ... кажется, что вы делаете композицию неправильно.
public class Foo {
public Bar createBar(){
Bar bar = new Bar(this)
return bar;
}
}
public class Bar {
Foo foo;
public Bar(Foo foo){
this.foo = foo;
}
public boolean equals(Object other) {
return foo.equals(other.foo);
}
}
Поскольку использование Foo.this ограничивает создание внутреннего класса (Foo myFoo = new Foo (); myFoo.new Bar (); к примеру, я бы сказал, что это намного чище.