Локальные классы (метод локальных внутренних классов) используются редко.Это может быть полезно, когда внутри метода требуется какая-либо повторяющаяся функциональность, и если мы НЕ заинтересованы в создании метода уровня класса (например, из-за того, что эта функциональность нам может не потребоваться вне метода), допустим, что методы sum & mul неоднократно требуютсяв нашем коде (любом конкретном методе), один способ создать методы уровня класса и вызывать их всякий раз, когда это необходимо, но что, если эти методы больше не требуются вне этого метода, в этом случае мы можем подумать о создании локального внутреннего класса и доступ к егометод суммы, когда требуется только в этом методе, ниже пример
class Outer {
public void calculations() {
class Inner {
public int sum(int x, int y) {
System.out.println("sum : " + (x+y));
return x+y;
}
public int mul(int x, int y) {
System.out.println("multiplication : " + (x*y));
return x*y;
}
}
Inner i= new Inner();
//some code...
i.sum(10, 20);
//some code...etc
i.mul(30, 40);
i.mul(14, 12);
i.sum(10000, 20000);
//some other code...
}
}
public class TestClass {
public static void main(String[] args) {
new Outer().calculations();
}
}