>>514
作用しません。
その private は、test クラス(大文字で名前つけるようにしましょうね)
の持つメンバやメソッドと、同格のアクセス権定義だと思って下さい。
誤解しやすいんですけどね。

「この m_i を public (=test 外からの public)にして、どうやってよそのクラスがアクセスするんだ?」
と思うかもしれませんが、こういう風にアクセスできます。

Object obj = new test().getInnerClassInstance(); // class A のインスタンスを返す
int x = obj.getClass().getField("m_i").getInt(obj);

あなたの例では private 定義されてますから、ここでアクセス権違反の Exception が出ます。
こんなこと滅多にしないでしょうし、私も「できるんだろうな」と思ってましたが、試したのは初めてです。
経験浅く造詣深くないので、どうしてこんな設計になったのかは説明できません。申し訳ない。