インナークラスにするのと、アウタークラスにするのとどう違うの?

インナー
class A extends Activity(){

//class B参照

class B{
//メソッドやらなんやら
}
}

あうたー
class A extends Activity(){

//class B参照

}

class B{
//メソッドやらなんやら
}

同じなら、Contextのメソッド使いたいので前者にしたいんですが。