- Apache Spark 2.x for Java Developers
- Sourav Gulati Sumit Kumar
- 189字
- 2021-07-02 19:01:57
Lexical scoping
Lexical scoping is also referred to as Static scoping. As per lexical scoping, a variable will be accessible in the scope in which it is defined. Here, the scope of the variable is determined at compile time.
Let us consider the following example:
public class LexicalScoping { int a = 1; // a has class level scope. So It will be available to be accessed // throughout the class public void sumAndPrint() { int b = 1; int c = a + b; // b and c are local variables of method. These will be accessible // inside the method only } // b and c are no longer accessible }
Variable a will be available throughout the class (let's not consider the difference of static and non-static as of now). However, variables b and c will be available inside the sumAndPrint method only.
Similarly, a variable given inside lambda expressions are accessible only to that Lambda. For example:
list.stream().map(n -> n*2 );
Here n is lexically scoped to be used in the Lambda expression only, and n does not have any scope outside the Lambda expression.
推薦閱讀
- Microsoft Exchange Server PowerShell Cookbook(Third Edition)
- Beginning C++ Game Programming
- Arduino by Example
- Mastering Spring MVC 4
- Learning Flask Framework
- Learn Swift by Building Applications
- Learning Hunk
- Odoo 10 Implementation Cookbook
- Mockito Essentials
- Python函數(shù)式編程(第2版)
- Android應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)(第2版)
- SignalR:Real-time Application Development(Second Edition)
- Java Web開(kāi)發(fā)基礎(chǔ)與案例教程
- 軟件測(cè)試(慕課版)
- Mobile Test Automation with Appium