为了账号安全,请及时绑定邮箱和手机立即绑定

运行成功了,但是发现两个调用不一样,一个要加括号,一个不用,是有什么规则吗?

public class HelloWorld {
    
    static int score1 = 86;
  
    static  int score2 = 92;

 public  static   int sum() {
      int sum=HelloWorld.score1+HelloWorld.score2;
      return sum;                                                            \\不用加括号
 }

 public static void main(String[] args) {
        
  int allScore = HelloWorld.sum();                                 \\要加括号
       
  System.out.println("总分:" + allScore);
 }
}


正在回答

4 回答

调用变量与调用方法的调用方式不一样。调用变量无()调用方法有()

静态方法可以直接调用同类中的静态变量,如需调用普通变量则需先创建一个对象再用    对象名.属性;   调用。故题主的  类名.属性     这种调用方法可以在main方法需要调用静态变量时使用。

同理,在main方法需要调用静态方法可以直接用     类名.方法名();   调用;

当然在main方法中不论是调用静态变量还是调用静态方法。都可以通过先创建一个类的对象再调用,但是直接使用类名调用才真正的体现了静态static的作用。

0 回复 有任何疑惑可以回复我~

静态变量在本类中(HelloWorld)可以直接使用,不用类名+静态变量,当然类名+静态变量也可以

int allScore = HelloWorld.sum();    HelloWorld调用的是sum的方法,调用方法用4种类型,可以到前面看看,现在用的是无返无参,方法的调用就是要sum();括号里面是放参数的,没有就是无参,要问为什么,我学的比较浅,只找到规则就是这样,这种记住就行了

0 回复 有任何疑惑可以回复我~
#1

乔琬

此处调用的sum方法为有返回值的,不是无返无参
2019-04-06 回复 有任何疑惑可以回复我~

不加括号那一句,return sum; 是因为public  static   int sum() 有返回值,必须有return,而不是调用方法

  int allScore = HelloWorld.sum();                                 \\要加括号    这才是调用方法

0 回复 有任何疑惑可以回复我~

int sum=HelloWorld.score1+HelloWorld.score2;  调用的是静态变量

int allScore = HelloWorld.sum();  调用的是静态方法

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

运行成功了,但是发现两个调用不一样,一个要加括号,一个不用,是有什么规则吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信