ローカルクラス(メソッドローカル内部クラス)はめったに使用されません。メソッド内で繰り返し機能が必要な場合や、クラスレベルのメソッドを作成する必要がない場合(この機能はメソッド外では必要ない場合があるため)、たとえば、sumメソッドとmulメソッドが繰り返し必要であると仮定すると便利です。私たちのコード(特定のメソッド)では、クラスレベルのメソッドを作成し、必要に応じてそれらを呼び出す1つの方法ですが、これらのメソッドがこのメソッドの外部で不要になった場合はどうなりますか?この場合、ローカルの内部クラスを作成して、以下の例で、そのメソッド内でのみ必要な場合は常にsumメソッド
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();
}
}