Do (not static) inner classes have access to private members of outer class in Java

Yes. Example:

public class Outer {	private String dontTouch = “my secret private String”;class Innter() {	public String revealSecret() {		return dontTouch;}}		public static void main(String args, String[] argv) {			Outer outer = new Outer();			Outer.Innter inner = outer.new Inner();				System.out.println(inner.revealSecret());		}}
When You run above example program You will see: “my secret private String” on console output.

Re: Do (not static) inner classes have access to private members

yes