У меня проблема с вызовом статического метода из класса.Позвольте мне объяснить себя.У меня есть интерфейс Foo
и его реализация FooImpl
, которая определяет метод getFoo();
:
public interface Foo {
...
public A getFoo();
....
}
public class FooImpl implements Foo {
public A getFoo(){
....
return new A();
}
}
Этот интерфейс и его реализация предоставлены, и я не могу их изменить.В моей программе я определяю класс с именем Bar
, в котором всегда вызывается метод getFoo
:
public class Bar {
Foo foo
public void fooBar(){
......
foo.getFoo()
....
}
}
Моя проблема заключается в том, что я бы сделал статический вызов метода fooBar
изкласс Bar
, но это невозможно, поскольку метод getFoo
не определен как статический.Например, я хотел бы сделать что-то вроде этого:
public class Bar2 {
public void execute(){
Bar.fooBar()
}
}
Как мне этого добиться?
Спасибо за ваш совет
[ПРАВИТЬ] Извините, если мне не ясно.Класс Bar имеет ссылку на Foo, поэтому в классе можно вызвать getFoo
.И я могу гарантировать, что Foo / FooImpl правильно инициализированы (не мной), и я просто использую информацию, предоставленную этим интерфейсом.