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

Posted mirai3usi9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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

以上是关于[20-05-15][Thinking in Java 17]Java Inner Class 1 - Inner Class 2的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Thinking In Java

Hacker Rank: Two Strings - thinking in C# 15+ ways

Thinking in Java & Writing in Python

Thinking in LINQ, Chapter 1, Thinking Functionally