summaryrefslogtreecommitdiff
path: root/java-advanced
diff options
context:
space:
mode:
Diffstat (limited to 'java-advanced')
-rw-r--r--java-advanced/xx-nested-classes/.gitignore1
-rw-r--r--java-advanced/xx-nested-classes/CreateInner.java16
-rw-r--r--java-advanced/xx-nested-classes/MyOuter.java14
3 files changed, 31 insertions, 0 deletions
diff --git a/java-advanced/xx-nested-classes/.gitignore b/java-advanced/xx-nested-classes/.gitignore
new file mode 100644
index 0000000..6b468b6
--- /dev/null
+++ b/java-advanced/xx-nested-classes/.gitignore
@@ -0,0 +1 @@
+*.class
diff --git a/java-advanced/xx-nested-classes/CreateInner.java b/java-advanced/xx-nested-classes/CreateInner.java
new file mode 100644
index 0000000..ab3830e
--- /dev/null
+++ b/java-advanced/xx-nested-classes/CreateInner.java
@@ -0,0 +1,16 @@
+public class CreateInner {
+
+ public static void main(String[] args) {
+ MyOuter mo = new MyOuter();
+ MyOuter.MyInner inner = mo.new MyInner();
+ inner.seeOuter();
+ }
+
+ /* Here's another way (same thing!)
+ public static void main(String[] args) {
+ MyOuter.MyInner inner = new MyOuter().new MyInner();
+ inner.seeOuter();
+ }
+ */
+
+}
diff --git a/java-advanced/xx-nested-classes/MyOuter.java b/java-advanced/xx-nested-classes/MyOuter.java
new file mode 100644
index 0000000..6821b98
--- /dev/null
+++ b/java-advanced/xx-nested-classes/MyOuter.java
@@ -0,0 +1,14 @@
+class MyOuter {
+ private int x = 7;
+
+ public void makeInner() {
+ MyInner in = new MyInner();
+ in.seeOuter();
+ }
+
+ class MyInner {
+ public void seeOuter() {
+ System.out.println("Outer x is " + x);
+ }
+ }
+} \ No newline at end of file