gpt4 book ai didi

java - Java 可以在实例级别重写函数吗?

转载 作者:行者123 更新时间:2023-12-01 18:30:28 26 4
gpt4 key购买 nike

我正在查看一些很久以前编写的 Java 代码,并且不是 Java 开发人员,我有一个问题。我在类的正文中发现了以下几行。有人正在创建 SearchQueryParameter 的实例,但是“new SearchQueryParameter”后面有大括号,并且似乎有人在这里覆盖了某些函数。

我的问题如下。

1) 这些函数是否在实例级别被覆盖?

2) 该语言功能有名称吗?

public static final SearchQueryParameter X_POSTDOC_WORKFLOW_STEP = new SearchQueryParameter(128,"XPOSTDOCWorkflowStep",AdvancedFields.X_EVENT_POSTDOC_WFSTEP,SearchTypes.XEVENT_DOCUMENTS) {

@Override
protected int getFilterType() {
return SEARCH_FILTER;
}

<<snip>>
};

谢谢,mj

最佳答案

背景:

这称为anonymous class 。它是一个扩展非 final 类或实现单个接口(interface)的类,并且您正在创建此类的单个实例。

现在,回答你的问题:

1) Are these functions overwritten at an instance level?

不,他们是水平类。您有所需类的新子类,并且该子类重写了该方法。然后,您创建子类的一个新实例。

2) Does this language feature have a name?

是的,它是匿名类。

关于java - Java 可以在实例级别重写函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24439843/

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