用于处理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()在类的构造函数的主体之前执行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |