在 lambda 表达式中对成员变量和静态变量拥有读写权限
时间: 2023-09-18 08:02:11 浏览: 124
在lambda表达式中,可以对成员变量和静态变量进行读写操作。
对于成员变量,可以通过引用的方式在lambda表达式中对其进行读写操作。Lambda表达式可以捕获外部的变量,包括成员变量。通过这种方式,我们可以在lambda表达式中直接访问和修改成员变量的值。例如:
```java
public class MyClass {
private int myMemberVariable = 10;
public void myMethod() {
MyInterface myLambda = () -> {
System.out.println(myMemberVariable); // 10
myMemberVariable = 20;
System.out.println(myMemberVariable); // 20
};
myLambda.myMethod();
}
interface MyInterface {
void myMethod();
}
}
```
在上面的例子中,我们在lambda表达式中读取并修改了类`MyClass`中的成员变量`myMemberVariable`的值。
对于静态变量,由于它们属于整个类而不是对象的实例,可以直接通过类名进行访问和修改。因此,lambda表达式中也可以对静态变量进行操作。例如:
```java
public class MyClass {
private static int myStaticVariable = 10;
public static void myMethod() {
MyInterface myLambda = () -> {
System.out.println(myStaticVariable); // 10
myStaticVariable = 20;
System.out.println(myStaticVariable); // 20
};
myLambda.myMethod();
}
interface MyInterface {
void myMethod();
}
}
```
在上面的例子中,我们在lambda表达式中读取并修改了类`MyClass`中的静态变量`myStaticVariable`的值。
综上所述,在lambda表达式中可以访问和修改成员变量和静态变量,从而拥有对它们的读写权限。
阅读全文