When to Use Nested Classes, Local Classes, Anonymous Classes, and Lambda Expressions

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了When to Use Nested Classes, Local Classes, Anonymous Classes, and Lambda Expressions相关的知识,希望对你有一定的参考价值。

As mentioned in the section  Nested Classes, nested classes enable you to logically group classes that are only used in one place, increase the use of encapsulation, and create more readable and maintainable code. Local classes, anonymous classes, and lambda expressions also impart these advantages; however, they are intended to be used for more specific situations:

?Local class: Use it if you need to create more than one instance of a class, access its constructor, or introduce a new, named type (because, for example, you need to invoke additional methods later).

?Anonymous class: Use it if you need to declare fields or additional methods.

?Lambda expression:

?Use it if you are encapsulating a single unit of behavior that you want to pass to other code. For example, you would use a lambda expression if you want a certain action performed on each element of a collection, when a process is completed, or when a process encounters an error.

?Use it if you need a simple instance of a functional interface and none of the preceding criteria apply (for example, you do not need a constructor, a named type, fields, or additional methods).

 

?Nested class: Use it if your requirements are similar to those of a local class, you want to make the type more widely available, and you don‘t require access to local variables or method parameters.

?Use a non-static nested class (or inner class) if you require access to an enclosing instance‘s non-public fields and methods. Use a static nested class if you don‘t require this access.

 

以上是关于When to Use Nested Classes, Local Classes, Anonymous Classes, and Lambda Expressions的主要内容,如果未能解决你的问题,请参考以下文章

When to use next() and return next() in Node.js

System Design Interviews: NoSQL Databases and When to Use Them.

007:When to use LinkedList over ArrayList?

A Sample To use Update, InnerJoin, When/Case, Exists in SQL Server

codeigniter Uncaught TypeError: Cannot use 'in' operator to search 'length' in When theres additiona

时间:2019-04-01 标签:c#swagger openapi erronous refs when nested classes