Yes, The qualifiers will only affect the visibility of the inner class in classes that derive from the outer class.
To answer your second question, Yes including the declared ones. And you can access private fields in inner classes and vice-versa. The following code compiles under Eclipse:
public class Outer {
private int x;
public void f() {
Inner inner = new Inner();
inner.g();
inner.y = 5;
}
private class Inner {
private int y;
public void g() { x = 5; }
}
}
I hope this helps.