加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 08:25:54 所属栏目:Java 来源:网络整理
导读:当我需要在当前对象的方法之外运行表达式(例如外部方法)时,我为该对象类声明一个字段变量,并将该表达式的返回值赋给该变量.如下, class{variabletype a=expression(); public int method(){ -----}} 这里在开始任何类的方法之前计算expression().除非返回类
当我需要在当前对象的方法之外运行表达式(例如外部方法)时,我为该对象类声明一个字段变量,并将该表达式的返回值赋给该变量.如下,

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

这里在开始任何类的方法之前计算expression().除非返回类型的expression()为void,否则它完美地工作.即使表达式()没有返回任何内容,我正在寻找的方法也是如此.更具体地说,我需要一种虚拟变量来执行与上面显示的代码的第2行相同的操作,即使expression()没有返回任何内容.注意:我无权访问该类的构造函数.

解决方法

您可以使用实例初始化程序块:

class YourClass
{

    {
        expression ();
    }

    ...
}

这将在类的每个构造函数的主体之前执行expression(). expression()是返回某个东西,还是具有void返回类型并不重要.

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

顺便说一下,你的Here表达式()是在类的任何方法(构造函数除外)开始之前计算的.假设不准确.实例变量在构造函数体执行之前初始化(但在超类构造函数之后).因此,expression()在类的构造函数的主体之前执行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读