gpt4 book ai didi

java - 用于处理 Java 中 void 方法返回的虚拟变量?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:38:31 26 4
gpt4 key购买 nike

当我需要在当前对象的方法之外运行表达式(例如外部方法)时,我为该对象类声明一个字段变量并将该表达式的返回值分配给该变量。如下所示,

class{
variabletype a=expression();
public int method(){
-----}
}

这里的 expression() 在类的任何方法开始之前被求值。除非 expression() 的返回类型为 void,否则它会完美运行。我正在寻找的是一种即使在 expression() 不返回任何内容时也能实现相同目标的方法。更具体地说,即使 expression() 不返回任何内容,我也需要一种虚拟变量来执行与上面代码第 2 行中相同的操作。注意:我无权访问该类的构造函数。

最佳答案

您可以使用实例初始化 block :

class YourClass
{

{
expression ();
}

...
}

这将在您的类的每个构造函数的主体之前执行 expression()expression() 是否返回某些内容或具有 void 返回类型并不重要。

您不必引入任何虚拟实例变量。

顺便说一句,您的Here expression() 在类的任何方法(构造函数除外)开始之前进行评估。 假设不准确。实例变量在构造函数主体执行之前初始化(但在父类(super class)构造函数之后)。因此 expression() 在类的构造函数主体之前执行。

关于java - 用于处理 Java 中 void 方法返回的虚拟变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49853860/

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