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

这样写为什么不对,求大神指导

public static int sum(){

static int sum=score1+score2;

System.out.println(sum);

}


正在回答

4 回答

public static int sum(){
   static int sum=score1+score2;
   System.out.println(sum);
   return sum;
}

对于java编译器来说,是这样的:

public static int sum(){
static {
 sum  = score1 + score2;
}
static int sum;
System.out.println(sum);
return sum;
}

我在这里先认为score1、score2是普通的成员变量。

static{}块 在类(new class())加载之前被编译器执行的,而static{}块中存在两个未知变量,因为score1、score2是普通的成员变量,是在类(new class())加载之后才被告知编译器的。

还是看不懂的话,可以参考:http://blog.csdn.net/darxin/article/details/5293427

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

首先先了解方法的基本语法。格式是:访问修饰符  返回值类型 方法名(){代码块}方法是这样定义的。你这里访问修饰符是:public,返回值类型是:static int ,是返回一个整型的静态变量。所以啊,你就必须在代码块中返回一个整型值,关键字是return。而课程里面,写的是void 所以是不需要些返回值的!!

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

不要 有 修饰符 static  

score1 和 scor 2这两个参数要以数据类型定义这两个参数到sum方法里去

并且要有返回值 return


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

慕仙8557862 提问者

还是不大懂,那如果写成return sum为什么不对
2017-11-27 回复 有任何疑惑可以回复我~

要有返回值

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

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530629    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

这样写为什么不对,求大神指导

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