万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Java .new

    CodeIQの問題で気になった。

    public class Ques {
        public static class Class1 {
            public String getString() {
                return "Class1-getString";
            }
        }
        public class Class2 {
            public String getString() {
                return "Class2-getString";
            }
        }
        public String getString () {
            return "getString";
        }
    }
    Ques ques = new Ques();
    System.out.println(ques.getString());

    Quesクラスのインスタンスを作成するには、new Quesを用います。

    // QuesのClass1のメソッドgetStringを利用
    Ques.Class1 quesClass1 = new Ques.Class1();
    System.out.println(quesClass1.getString());

    Quesクラスにある静的ネストクラス(static修飾されているネストクラス)の インスタンスを作成するには、new Ques.Class1を用います。

    そして、

    // QuesのClass2のメソッドgetStringを利用
    Ques.Class2 quesClass2 = ques.new Class2();
    System.out.println(quesClass2.getString());

    Quesクラスにあるインナークラス(static修飾されていないネストクラス)の インスタンスを作成するには、ques.new Class2を用います。

    これの".new"??

    syntax - How does "object.new" work? (Does Java have a .new operator?) - Stack Overflow

    .newって書き方自体知らなかった。