[20-05-15][Thinking in Java 17]Java Inner Class 1 - Inner Class 2

 1 package test_13_2;
 2 
 3 public class Outer {
 4 
 5     private String str;
 6 
 7     public Outer() {
 8 
 9     }
10 
11     public Outer(String str) {
12 
13         this.str = str;
14     }
15 
16     class Inner {
17 
18         // 内部类不止是一种名字隐藏和组织代码的模式
19         // 当生成一个内部类的对象时,此对象与制造它的外围对象(enclosing object)之间就有了一种联系
20         // 所以它能访问其外围对象的所有成员,而不需要任何特殊条件
21         // 内部类还拥有外部类的所有元素的访问权
22         @Override
23         public String toString() {
24 
25             return str;
26         }
27 
28     }
29 
30     public Inner inner() {
31 
32         return new Inner();
33     }
34 
35     public static void main(String[] args) {
36 
37         Outer outer = new Outer("this is str");
38 
39         Outer.Inner inner = outer.inner();
40         System.out.println(inner.toString());
41     }
42 
43 }

 

结果如下:

this is str

上一篇:Java内部类总结


下一篇:sql server 连接种类