java - 是否可以从匿名类调用多个方法?

标签 java anonymous-class

我想知道这是否可能以某种方式请java 7或8

public class App{
    public static void main(String[] args) {
        new Thread(){
            public void run(){
                //Something
            }
        }.start().setName("Something") //Here!!
        //Something
    }
}

最佳答案

不,这是不可能的,因为 start()setName() 都不返回线程。创建的匿名类是Thread的子类,因此可以赋值给这样一个变量:

Thread thread = new Thread {
    // something
};
thread.setName(...);
thread.setPriority(...);
thread.start();

或使用函数符号:

Thread thread = new Thread( () -> { ... } );
thread.setName(...);
thread.setPriority(...);
thread.start();

和我的首选(没有创建额外的类),使用方法引用:

    Thread thread = new Thread(this::runInThread);
    thread.setName(...);
    thread.setPriority(...);
    thread.start();
    ...
}

private void runInThread() {
    // something to run in thread
}

添加了setPriority()只是为了有更多的调用

关于java - 是否可以从匿名类调用多个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55774591/

相关文章:

java - 需要帮助从 BrowserSession 返回到 BlackBerry 应用程序

Java - 如何在打印时改进渲染?

java - 从匿名内部类访问外部类最终局部变量

java - Android Q 上的 BitmapFactory : Unable to decode stream: java. io.FileNotFoundException:打开失败:EACCES(权限被拒绝)

java - 如何使用 Java 代码为 iOS 创建钛移动模块?

java - 仅打印填充的数组位置 | Java中的While循环

java - 匿名 ActionListener 类异常 "NullPointerException"

java - 用spring注入(inject)匿名类

php - 在 "anonymous"对象中使用 $this

java - 是否可以在使用反射时创建匿名类?