私の仮定:
- 静的メソッドは非静的メソッドを呼び出すことはできません。
- コンストラクターは、戻り型のないメソッドの一種です。
この例を考えると...
    public class Main {
        public static void main(String[] args) {
            Main p = new Main();  // constructor call
            k();  // [implicit] `this` reference
        }
        protected Main() {
            System.out.print("1234");
        }
        protected void k() {
        }
    }
- この行は1234を出力します:Main p = new Main()
- この行は例外をスローします:k()
サンプルコードがこれら2つのことを行ったのはなぜですか?それらは私の上記の仮定と矛盾しませんか?私の仮定は正しいですか?