黑马程序员技术交流社区

标题: 是否可以从一个static方法内部发出对非static方法的调用? [打印本页]

作者: 信@仰    时间: 2015-8-31 11:40
标题: 是否可以从一个static方法内部发出对非static方法的调用?
是否可以从一个static方法内部发出对非static方法的调用?


作者: 信@仰    时间: 2015-8-31 11:42
OverloadOverride的区别。Overloaded的方法是否可以改变返回值的类型?


作者: ln0491    时间: 2015-8-31 11:54
不可以。。。
作者: asinzuo    时间: 2015-8-31 12:03

是否可以从一个static方法内部发出对非static方法的调用?

不可以。静态只能调用静态,静态是随着类的加载而加载,此时还没有加载非静,内存中有了静态,没有非静态,所以静态不能调用非静态。
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?

1、重载只看同名函数参数列表。(即只看函数括号内的内容,与返回值无关)
2、覆写要一模一样(包括返回值、函数名、参数列表)
3、如果在一个类中,有两个函数,它们名称相同、参数列表相同,只是返回值不同,是不可以存在同一个类中的,这两个就是同一个函数。

如果想看看效果,自己可以将各种情况的函数代码写在eclipse里。eclipse会自动提示你可不可以这样写。自己有疑问时,可以这样来测试,然后再找原因或者总结规律。

作者: xie1989718    时间: 2015-8-31 19:41
不可以。静态只能调用静态,静态是随着类的加载而加载,此时还没有加载非静,内存中有了静态,没有非静态,所以静态不能调用非静态。
解释的很好,我也受教了,只是知道不能调用,没法解释的那么详细
作者: cemabenteng    时间: 2015-8-31 20:41
你说的是一个类里面还是两个类里面?
作者: jumtop    时间: 2015-8-31 22:07
应该是不行的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2