对4-10一开始的这段代码不是很理解

对4-10一开始的这段代码不是很理解

public class TryDemoTwo {

public static void main(String[] args) {

int result=test(5,7);

System.out.println(result);

}


public static int test(int one,int two) {

if(one>two)

return one;

else

return two;

}

}

老师,以前写变量是:int result=10;

在这段代码里写成了:int result=test(5,7);

这是什么意思?怎么能写一个英文单词再加参数的形式--->test(5,7)呢?

还有,这跟接下来的静态方法test有什么联系?

正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学你好,这里test静态方法必须在同一个类中才能直接调用哦!比如不在一个类中

http://img1.sycdn.imooc.com//climg/5cfe25330001833a05500142.jpg

http://img1.sycdn.imooc.com//climg/5cfe255100015f0205270228.jpg

必须通过类名.方法名来调用!

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 鱼儿0001 提问者 #1
    谢谢老师的耐心回复!
    2019-06-12 17:00:38
好帮手慕小班 2019-06-09 15:33:27

同学你好,1、怎么确定调用的是这个test方法--->同学可以这样理解,首先是调用test方法,需要找到这个方法名称为test方法,然后匹配参数列表(参数类型、参数个数),来确定调用的是那个test方法!

2、这里能直接使用int result=test(5,7);  ---> 来直接调用test方法是因为这两个方法都是静态方法,所以可以直接调用!如果是普通方法,则只能通过new  这个对象,通过这个实例对象来调用这方法!

3、这种传值形式和之前学过的对象的引用.方法名(传参的参数)形式---->不同点在于这个没有通过对象名来直接调用,而是直接通过方法名来调用,这是因为这个test方法是静态方法!可以在本类的静态方法中直接调用!  如果没有static修饰的方法,是要通过对象的引用.方法名(传参的参数)  这样的方法来调用哦!

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    谢谢老师的回复。1、我被你的回复弄的有点糊涂了,int result=test(5,7)这是变量吧,怎么可能是方法。我引用一下你的话:这里能直接使用int result=test(5,7); ---> 来直接调用test方法是因为这两个方法都是静态方法,所以可以直接调用!老师,test的确是静态方法,而int result=test(5,7)难道也是静态方法?那所说的两个静态方法是指哪两个?
    2019-06-09 21:18:26
  • 好帮手慕小班 回复 提问者 鱼儿0001 #2
    同学你好,test是静态方法,main(主方法)方法也是静态方法,所以在main方法中可以直接调用test(5,7); 可以直接通过方法名来调用这个方法,因为test方法有一个int类型的返回值,所以通过int类型的result变量来接收这个返回值,最后输出这个result值;所以main方法与test方法都是静态方法,可以在main方法中直接调用test方法哦! 如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-06-10 09:50:56
  • 提问者 鱼儿0001 回复 好帮手慕小班 #3
    谢谢老师的耐心回复。我已经弄明白了,谢谢!那如果test方法与main主方法不在同一个类,那么在main主方法里还能这样int result=test(5,7);这样调用吗?
    2019-06-10 14:48:47
吃吃吃鱼的猫 2019-06-07 17:28:42
int result=test(5,7);

执行步骤如下:

1、调用test(5,7)方法,将参数5,7传入test方法中。

2、执行test方法,判断5,7的大小,返回值为较大的那个数,这里是7

http://img1.sycdn.imooc.com//climg/5cfa2dbb0001229a06180294.jpg

3、result=7,将7赋值给result

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    谢谢老师的耐心回复。看了你的代码和文字,感觉比之前明白了许多。但是,像这里的:int result=test(5,7);在以前没有见过这种形式的方法内普通变量,老师,1、下面的public static int test方法是怎么认出来上面的result在给它传值?2、使用int result=test(5,7);有没有什么规则,是必须得在同类里面吗?3、int result=test(5,7);这种传值形式和之前学过的对象的引用.方法名(传参的参数)形式有什么异同呢?
    2019-06-08 09:43:13
吃吃吃鱼的猫 2019-06-07 11:44:00

同学你好,这里的result是等于,将5,7当作方法参数,调用test方法后的返回值。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 鱼儿0001 #1
    谢谢老师的回复,但是没看懂。你说将5,7当做方法参数,是test的方法参数吗?调用test方法后的返回值,这是什么意思?
    2019-06-07 14:54:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师