У меня есть интерфейс A, у которого есть метод:
public interface A { public double doSth(); }
и класс B, который реализует A и имеет какой-то другой метод:
class B implements A {
private String name;
@Override
public double doSth();//returns the lenght of the name
public void getName(){}
}
В основном классе яиметь список массивов объектов A-типа и метод, который ищет объект из списка массивов, который имеет наибольшее значение doSth () и возвращает ссылку на этот объект.
public class Main {
public static void main(String[] args) {
ArrayList<A> array = new ArrayList<>();
}
public static A a(ArrayList<A> array){
A aObject = null;
double temp = 0;
for (A bObject: array){
if(bObject.doSth()>temp){
temp = aObject.doSth();
aObject = bObject;
}
}
return aObject;
}
Что мне нужно сделать, это использовать этот метод в main, а затем распечатать имя объекта, который был возвращен как объект A-типа методом. Можно ли это сделать? Есть ли возможность преобразовать объект A обратно в класс B?