How to access to the members of outer class from inner class

You can’t access to the members of an outer class from an inner class using the keyword “this”.
In fact, the keyword “this” in an inner class is a reference to the inner class itself.
To have a reference to the outer class, you must use the syntax:


where [OuterClassName] is the name of the outer class.
See the following code as example:

public class OuterClass {

	String myString = new String("outer class");

	void outerMethod() {

		// print the outer class string from the outer class

		InnerClass innerClass = new InnerClass();

	class InnerClass {

		String myString = new String("inner class");

		void innerMethod() {

			// print the inner class string from the inner class

			// print the outer class string from the inner class

Obviously you can’t use “this” from a static code, and this applies as a general rule.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.