You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请问像Kernel kernel = new Kernel(){}这样当场初始化类的写法叫什么?

关于Kernel kernel = new Kernel() {};写法的名称解释

嘿,这就给你解惑!这种写法叫做匿名内部类,是Java里很实用的一种语法特性。

简单来说,它的逻辑是:你在创建Kernel类(或者接口)的实例时,直接在new后面定义了一个没有名字的子类(如果Kernel是类)或者接口实现类(如果Kernel是接口),然后直接用这个匿名类创建了对象。

举个更具体的例子,要是Kernel是个带抽象方法的类,你可以在大括号里重写方法:

Kernel kernel = new Kernel() {
    @Override
    public void someAbstractMethod() {
        // 自定义实现逻辑
    }
};

就算像你那样大括号留空也完全合法,只要符合语法要求就行。

这种写法一般用在只需要使用一次这个类实例的场景,不用专门去定义一个有名字的子类/实现类,能让代码更简洁,比如在事件监听、临时线程创建这类场景里特别常见。

内容的提问来源于stack exchange,提问作者dan dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:11:47