import java.util.*;
import java.lang.*;
import java.io.*;

// The main method must be in a class named "Main".
class Main {
    public static void main(String[] args) {
        OuterClass outer = new OuterClass();
        new Thread(outer.createInnerAnonymous()).start();
    }
}

class OuterClass {
    private String name = "Outer Class";

    public Runnable createInnerAnonymous() {
        String localName = "Local Variable";

        return new Runnable() {
            @Override
            public void run() {
                System.out.println("name: " + name);
                System.out.println("localName: " + localName);
                System.out.println("this: " + this);
                System.out.println("OuterClass.this: " + OuterClass.this);
            }

            @Override
            public String toString() {
                return "Instance of InnerClass";
            }
        };
    }

    @Override
    public String toString() {
        return "Instance of OuterClass";
    }
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: