From 9600ff66bb3472d8046d8872f03bbfee08489f92 Mon Sep 17 00:00:00 2001 From: jzhou Date: Thu, 2 Dec 2010 18:43:50 +0000 Subject: [PATCH] A test case for static inner class --- Robust/src/Tests/StaticInnerClassTest.java | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Robust/src/Tests/StaticInnerClassTest.java diff --git a/Robust/src/Tests/StaticInnerClassTest.java b/Robust/src/Tests/StaticInnerClassTest.java new file mode 100644 index 00000000..a7c555b0 --- /dev/null +++ b/Robust/src/Tests/StaticInnerClassTest.java @@ -0,0 +1,55 @@ +class Contents { + int value(); +} + + +public interface Destination { + String readLabel(); +} ///:~ + +public class StaticInnerClassTest { + public StaticInnerClassTest(){} + + private static class ParcelContents implements Contents { + private int i; + + public ParcelContents() {i = 11;} + public int value() { return i; } + } + + protected static class ParcelDestination + implements Destination { + private String label; + private ParcelDestination(String whereTo) { + label = whereTo; + } + public String readLabel() { return label; } + // Nested classes can contain other static elements: + public static void f() {} + static int x; + static { + x = 10; + } + static class AnotherLevel { + public static void f() {} + static int x; + static { + x = 10; + } + } + } + + public static Destination destination(String s) { + return new ParcelDestination(s); + } + + public static Contents contents() { + return new ParcelContents(); + } + + public static void main(String[] args) { + Contents c = contents(); + Destination d = destination("Tasmania"); + System.out.println(d.readLabel()); + } +} ///:~ -- 2.34.1