【Java】インスタンス変数の初期化でコンストラクタを使った場合と使わなかった場合の違いってあるんだろうか

インスタンス変数の初期化について疑問に思ったのでメモ。

class Test {
    private int n = 5;
}

こうやった場合と、

class Test2 {
    private int n;
    public Test2() {
        n = 5;
    }
}

こうやった場合ってなんか違いがあるんだろうか。 コンストラクタを使った方が引数によって異なる初期化ができるという利点はあるだろうけど、上みたいに書いちゃってもいいのかな。

カプセル化の利点とかstaticとか他にも色々忘れちゃってるので、Head First Javaはもう1周しよう。