Я пытаюсь изучить концепцию интерфейса в Java. У меня есть два файла .java:
// I.java
public interface I {
public abstract void run(double avg);
}
// S.java
public class S
{
public void func1(I ii, double av)
{
System.out.println("Initial Average : " + av);
}
public void start()
{
double avg = 90; // need to pass this avg to run()
}
public static void main(String[] args)
{
S obj = new S();
obj.func1(new I() { // Please help in understanding this line also
public void run(double avgg) {
System.out.println("Final Average : " + avgg);
}
}, 76.8);
obj.start();
}
}
Вывод вышеуказанного кода: начальное среднее: 76,8
И требуемый вывод такой:
начальное среднее: 76,8
Конечное среднее: 90
Сейчас я пытаюсь понять концепцию run () в интерфейсе, но не могу ее понять. Я хочу понять код main (), чтобы я мог изменить его, чтобы получить требуемый вывод. Значит, как мы можем вызвать run () функции main () из start () и передать значение avg = 90 для получения требуемого вывода.
Примечание. Это проблема присваивания. Но я стараюсь изо всех сил понять концепцию run () в интерфейсе (который используется здесь). Также я хочу понять полный код функции main ().