gpt4 book ai didi

java - 我们可以使用类的引用来调用方法吗

转载 作者:行者123 更新时间:2023-12-03 23:13:16 25 4
gpt4 key购买 nike

我刚开始学习java,我发现,要调用普通类的方法,我们需要对象,但对于静态类,我们不需要任何对象来调用,我们可以使用类引用来做到这一点。但是在编码时我遇到了一些让我很困惑的代码。代码是。

public class MyInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation actionInvocation) throws Exception {
String result = actionInvocation.invoke();

我怀疑在第 3 行我们有一个类 ActionInvocation 的引用 actionInvocation 并且我们没有使用任何新关键字,现在检查第 4 行我们使用 actionInvocation 访问方法 invoke()。如果不使用 new 关键字,这怎么可能?我还检查了 ActionInvocation 是抽象接口(interface)。

最佳答案

new 关键字仅用于构造对象。一旦它被创建,它就可以在方法、其他类和其他可能存储或传输对象的地方之间传递。

您正在创建一个接受ActionInvocation 对象的MyInterceptor 方法。该对象可以作为 null 传递,也可以在别处创建。您可以执行非空检查(通过 actionInvocation!=null)以确保您确实传递了一个对象。

此外,您应该记住,您可以自己创建对象,而无需在您的类中使用 new。有这样的方法称为工厂,您可以在其中调用静态方法,例如 ByteBuffer.allocateDirect( 并且 内部 使用 new 关键字创建一个ByteBuffer 的实例。

关于java - 我们可以使用类的引用来调用方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18231743/

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