基本データ型の値をカプセル化しているクラスのことをラップクラスという。今回はIntegerクラスがそれに当たり、IntegerクラスのインスタンスメソッドintValue()によりint型の数値を受け取る。
5行目でnewしていないのにvalueOfメソッドを呼べている理由はvalueOfメソッドが静的メソッド(static)だからである。(「クラス名 . メソッド名」で呼べる)
以上よりInteger_classクラスでは静的メメソッドとインスタンスメソッドの両方を利用していることがわかる。
1: public class Integer_class {
2: public static void main(String[] args) {
3: String s = "125";
4: Integer obj = Integer.valueOf(s); //静的メソッドvalueOf()
5: int i = obj.intValue(); //インスタンスメソッドintValue()
6: //int i = Integer.valueOf(s).intValue(); ←上の2行をくっ付けて書くとこうなる。
7: i += 10;
8: System.out.println(i);
9: }
10:}
☆4、5行目を6行目のように1行で表すことができる☆
→「静的メソッドによりオブジェクトを生成してから、そのオブジェクトによりインスタンスを生成する」といった流れを1行で実現している。