【例14.5】使用lambda表达式修改类成员变量(1、在成员方法中,用lambda表达式修改测试类的成员变量,再实现测试接口中的抽象方法;2、在主方法中,创建本类对象,调用成员方法)

【例14.5】使用lambda表达式修改类成员变量
创建函数式接口和测试类,在测试类中创建成员属性value和成员方法action()。在action()方法中使用lambda表达式创建接口对象,并在lambda表达式中修改value的值。运行程序,查看value值是否发生变化。

/*【例14.5】使用lambda表达式修改类成员变量
 * 创建函数式接口和测试类,在测试类中创建成员属性value和成员方法action()。
 * 在action()方法中使用lambda表达式创建接口对象,并在lambda表达式中修改
 * value的值。运行程序,查看value值是否发生变化。
 * 
 * */

package lambdabdshlcl;

interface VariableInterface2{			//	测试接口
	void method();						//	调试方法
}

public class VariableDemo2 {
	int value = 100;					//	成员变量
	
	public void action() {				//	成员方法		
		VariableInterface a = ()->{
			value = -12;
		};
		System.out.println("运行接口方法前value = "+value);		//	运行接口方法前,先输出成员变量值
		a.method();						//	运行接口方法
		System.out.println("运行接口方法后value = "+value);		//	运行接口方法后,再输出成员变量值
	}

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		VariableDemo2 demo = new VariableDemo2();			//	创建测试类对象
		demo.action(); 										//	执行测试类的成员方法
	}

}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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表达式可以访问和修改成员变量和静态变量,从而拥有对它们的读写权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值