首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不能直接调用返回的方法

不能直接调用返回的方法是因为返回的方法可能需要在特定的上下文环境中执行,而直接调用可能会导致错误或不可预测的结果。此外,返回的方法可能需要传递参数或依赖其他变量或对象,直接调用可能无法满足这些要求。

为了正确地调用返回的方法,通常需要按照特定的规则或约定进行操作。这可能涉及将返回的方法存储在变量中,然后在适当的时候调用该变量,或者将返回的方法作为参数传递给其他函数或方法。

在某些编程语言中,返回的方法可以作为一等公民(first-class citizen)来处理,这意味着可以像其他变量一样对待它们,可以存储、传递和调用它们。但在其他语言中,可能需要使用特定的语法或技术来处理返回的方法。

总之,不能直接调用返回的方法是为了确保代码的正确性和可预测性,遵循适当的编程规范和约定。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么start方法不能重复调用?而run方法却可以?

start 方法 thread2.start(); } 以上程序执行结果如下: 从上述结果我们可以看出:当调用 run 方法时,其实是调用当前主程序 main 来执行方法;而调用...run 方法和 start 方法第二个区别是:run 方法也叫做线程体,它里面包含了具体要执行业务代码,当调用 run 方法时,会立即执行 run 方法代码(如果当前线程时间片未用完);而调用...为什么start不能被重复调用?...0,也就是是否为新建状态 NEW,如果不等于新建状态,那么就会抛出“IllegalThreadStateException”非法线程状态异常,这就是线程 start 方法不能被重复调用原因。...start 方法之所以不能被重复调用原因是,线程状态是不可逆,Thread 在 start 实现源码中做了判断,如果线程不是新建状态 NEW,则会抛出非法线程状态异常 IllegalThreadStateException

60810

Java中静态方法不能调用非静态方法原因

如图,是Java中静态代码和实例对象互相调用规则,我们接下来就讲讲为什么在Java中静态方法不可以调用非静态代码呢。...因此在对象未存在时非静态方法也不存在,静态方法自然不能调用一个不存在方法。...,为什么类名那里还要加一个null,为什么不是直接Test.Print(),还以为这样写会报错,然而并不是。...经过查资料和某人帮助,终于明白啦。 (1)首先,我们可以试一下去掉static,这里不会编译错误,但是运行时会抛出空指针异常,原因是什么呢,原因就是类似于上面说静态方法不能调用非静态方法原因了。...(3)不能用一个值为null引用类型变量来调用非静态方法,这样会抛出空指针异常,但是静态方法可以被一个值为null引用类型变量调用而不会抛出空指针异常。

5.4K50

为什么 GROUP BY 之后不能直接引用原表中

为什么 GROUP BY 之后不能直接引用原表(不在 GROUP BY 子句)中列 ? 莫急,我们慢慢往下看。...,SELECT 不能直接包含非 GROUP BY 子句中列。...通过上图,相信大家也都能看到,这里不做更深入讲解了,有兴趣可以去查相关资料。 为什么聚合后不能再引用原表中列   很多人都知道聚合查询限制,但是很少有人能正确地理解为什么会有这样约束。...SQL 世界其实是层级分明等级社会,将低阶概念属性用在高阶概念上会导致秩序混乱,这是不允许。此时我相信大家都明白:为什么聚合后不能再引用原表中列 。...SELECT 子句中不能直接引用原表中原因;   3、一般来说,单元素集合属性和其唯一元素属性是一样

1.7K10

【面试题精讲】Java静态方法为什么不能调用非静态成员?

在 Java 中,静态方法(static method)是属于类方法,而不是属于对象方法。它可以通过类名直接调用,无需创建对象实例。静态方法通常用来执行与类相关操作,例如计算、转换等。...非静态成员(non-static member)指的是类实例变量和实例方法,它们需要通过对象实例才能访问和调用。 2. 为什么静态方法不能调用非静态成员?...静态方法不能调用非静态成员原因是:静态方法在没有对象实例情况下就可以被调用,而非静态成员必须依赖于对象实例才能访问。由于静态方法不依赖于任何对象实例,所以它无法引用或访问非静态成员。...3.2 将非静态成员改为静态成员 如果某个成员不依赖于对象实例,并且在整个类中都是相同值或行为,那么可以将其声明为静态成员。这样就可以在静态方法直接访问和调用该成员。...总结 静态方法不能调用非静态成员原因是静态方法在没有对象实例情况下就可以被调用,而非静态成员必须依赖于对象实例才能访问。

31430

Python中通过对象不能调用方法和静态方法解析

当我们在使用Python编写程序时,可能会遇到通过对象调用方法和静态方法失败问题,那么这是为什么呢?接下来,我们将从多个方面对这个问题进行详细解析。...一、类方法和静态方法定义在了解Python中通过对象不能调用方法和静态方法之前,首先需要明确类方法和静态方法定义。...类方法和静态方法都是定义在类中一种方法,可以通过类名直接调用,而不需要先创建该类实例。...三、不能通过对象调用方法和静态方法原因既然Python中对象调用方法原理是将该对象作为第一个参数传入方法中,那么为什么不能通过对象调用方法和静态方法呢?...因此,如果在静态方法中尝试访问类或实例属性或方法,就会出现错误。四、总结Python中方法和静态方法是很有用方法,可以通过类名直接调用而不需要创建实例。

58530

DataTableAcceptChange方法为什么不能在Update之前?

直接跳过本行,开始检查下一行,如此,一个表如果行都是Unchanged状态,那么它就不会被更新到数据库中。...所以,在更改了DataSet或DataTable后,若想调用DataAdapter.Update方法直接更新数据到数据库,那么你只需要这个Update方法,无需在此前调用一次AcceptChanges方法了...DataTable.AcceptChanges方法:提交自上次调用AcceptChanges以来对该表进行所有更改。...调用RejectChanges时,任何仍处于编辑模式DataRow对象将取消其编辑。新行被移除。DataRowState设置为Modified或Deleted返回到其初始状态。...BeginEdit方法在用户更改数据绑定控件值时被隐式调用;EndEdit方法在您调用DataTable对象 AcceptChanges方法时被隐式调用

1.5K10

java中onresume_java – 直接onResume()调用替代方法

大家好,又见面了,我是你们朋友全栈君。 我正在重写我Android应用以消除对onResume()直接调用....我解决方案是将600行代码收集到一个单独例程中,并从onResume()内部和onOptionsItemSelected()中多个点调用它..... … // Other statements } 这种方法可以接受吗?...你onResume()方法实现本身是无害.但是调用超级方法是super.onResume();会让系统认为它是恢复事件另一种情况.这将导致刷新视图和类似内部工作不必要资源使用.因此,在任何情况下都必须避免显式调用生命周期回调方法...程序总是逐行执行.如何安排代码没有任何区别.将程序正确地构造成方法,类等是为了程序员方便.对于系统来说,它始终是一系列线条.因此,在执行繁重任务时,UI可能变得没有响应,因为它必须等到轮到它.

86720

Android Studio finish()方法使用与解决app点击“返回”(直接退出)

“当你打开Activity已经执行完成并且需要被关闭时候可以调用这个方法,当你按返回时候,它将返回到当前Activity发起者。” (不过这一段我不是很理解,我还是相信自己实践吧。)...(系统自带)”按钮时候,APP不会再返回到主界面,而是会直接退出。...(2)显然这不能解决activity多次回跳问题。...问题产生思路: 为什么我会在“竹海明珠”以及同级别下activity中加finish()呢?...app点击“返回”(直接退出)文章就介绍到这了,更多相关Android Studio finish()方法内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn

4.8K10

【手记】走近科学之为什么明明实现了IEnumerable类型却不能调用LINQ扩展方法

比如Json.NETJObject明明实现了IEnumerable,具体来说是IEnumerable>,按说JObject类型对象是可以直接调用...Select、Where等linq扩展方法,但偏偏就是不行,代码如下: using System.Linq; ... var jobj = new JObject(); var xxx = jobj.Select...(x=>x); //报错:JObject未包含Select定义,也不存在第1个参数为JObjectSelect扩展方法... foreach(var x in jobj) { } //可以 var xxx...= ((IEnumerable>)jobj).Select(x=>x); //也可以 究竟是人性扭曲还是道德沦丧?...,等于JObject直接和间接实现了两个不同IEnumerable,当.Select时候编译器不能确定调用哪个类型Select,所以就这样了。

78210

为什么在静态方法不能使用this

看到这个标题读者,在你们心里多多少少都有自己答案,下面说一下我答案....在JVM运行时数据区中有个虚拟机栈(或Java栈),在它里面是由栈帧'叠加'而成.栈帧由局部变量表,操作数栈,动态连接,方法返回地址等组成. 那么我们就从局部变量表角度解答下这个问题....下面是测试代码,一个静态方法query,一个普通方法shadow,这两个方法参数和函数体完全一样. // 静态方法 public static void query(String year) {...query方法局部变量表,如下 shadow方法局部变量表,如下 我们发现,非静态方法shadow局部变量表中有this,而在静态方法query局部变量表中没有this....因此也就解答了文章开头提出问题. 在普通方法中,在它局部变量表中第一个槽存放了this, 而静态方法局部变量表中没有存放this.

1.8K30
领券