gpt4 book ai didi

Java 闭包范围

转载 作者:行者123 更新时间:2023-12-02 00:32:50 25 4
gpt4 key购买 nike

我有以下代码:

package application;

import java.util.Timer;
import java.util.TimerTask;

public class Application {

public String name = "Brad" ;

public static void main ( String [ ] args ) {
Timer time = new Timer ( );
time.schedule ( new TimerTask ( ) {
@Override
public void run ( ) {
System.out.println( "Name: " ) ;
}
}, 0, 10000 );

}

}

如何在 run() 函数中访问类的方法和/或属性?老实说,我不知道如何访问上下文..也不知道如何将对象作为参数传递,就像在 PHP 中一样

最佳答案

您可以访问实例变量,但在您的情况下,您无法访问name,因为它不是静态。如果您想使用字段变量,那么您需要将它们声明为 final 以便能够在匿名类中使用它们。

示例:

package application; 

import java.util.Timer;
import java.util.TimerTask;

public class Application {
public static String name = "Brad" ;

public static void main ( String [ ] args ) {
final String lastName = "Brad's last name";

Timer time = new Timer ( );
time.schedule ( new TimerTask ( ) {
@Override
public void run ( ) {
System.out.println( "Name: " + name + " " + lastName ) ;
}
}, 0, 10000 );
}
}

关于Java 闭包范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com