Skip to content

Instantly share code, notes, and snippets.

@vadim8kiselev
Created April 6, 2017 20:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vadim8kiselev/7ba7e9ff09ad109332bb88572c2762a2 to your computer and use it in GitHub Desktop.
Save vadim8kiselev/7ba7e9ff09ad109332bb88572c2762a2 to your computer and use it in GitHub Desktop.
/**
* @author Vadim Kiselev
* @version 1.0
* @since 04/07/2017
*/
public class Main {
public static void main(String[] args) {
}
}
class Outer {
private String nonStatic = "";
private static String staticVar = "";
class InnerInner {
public void method() {
System.out.println(nonStatic);
System.out.println(staticVar);
}
class Inner$InnerInner {
public void method() {
//System.out.println(nonStatic);
System.out.println(staticVar);
}
}
}
abstract class AbstractInnerInner extends InnerInner {
public void method() {
System.out.println(nonStatic);
System.out.println(staticVar);
}
class Inner$AbstractInnerInner extends Inner$InnerInner {
public void method() {
//System.out.println(nonStatic);
System.out.println(staticVar);
}
}
}
static class StaticInnerNested {
public void method() {
// System.out.println(nonStatic);
System.out.println(staticVar);
}
class Inner$StaticInnerNested {
public void method() {
//System.out.println(nonStatic);
System.out.println(staticVar);
}
}
}
abstract static class AbstractStaticInnerNested extends StaticInnerNested {
public void method() {
// System.out.println(nonStatic);
System.out.println(staticVar);
}
class Inner$AbstractStaticInnerNested extends Inner$StaticInnerNested {
public void method() {
//System.out.println(nonStatic);
System.out.println(staticVar);
}
}
}
/* */
class Global {
public void method () {
class Local1 { }
class Local2 extends Local1 { }
class Local3 extends Local1 { }
Local1 local1 = new Local1();
Local1 local2 = new Local2();
Local1 local3 = new Local3();
}
public void method1 () {
// @interface LocalAnnotaion {} // cannot be local
// interface LocalInterface {} // cannot be local
// abstract class Local1 implements LocalInterface { }
// class Local2 extends Local1 { }
// class Local3 extends Local1 { }
// enum ENUM {} // cannot be local
}
}
/* */
class $4Chan {
public Anon btard = new Anon() {}; // anonym class named Outer$$4Chan$1
public void method() {
new Anon() {
@Override
public String toString() {
return "ANON CLASS";
}
};
}
}
interface Anon {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment