黑马程序员技术交流社区

标题: 帮忙分析一下结果 [打印本页]

作者: 李伟松    时间: 2015-3-16 22:58
标题: 帮忙分析一下结果
public interface Face{   
int counter = 40;     
}      
public class Test implements Face{   
private static int counter;   
public static void main(String[]args){
      System.out.println(++counter);         
}     
}
作者: langmb    时间: 2015-3-16 23:13
结果是1    应该不会错了
作者: android-liu    时间: 2015-3-16 23:42
你在类中已经定义了变量,默认Int类型的初始化为0,打印的当然是你类中的变量++count 所以为1
作者: liuzf006    时间: 2015-3-17 00:12
应该是1 的
作者: hamesksk    时间: 2015-3-17 09:23
必须是1的了哇
作者: zgjswp    时间: 2015-3-17 12:39
结果是1
作者: 王子健    时间: 2015-3-17 12:46
1.你调试过吗,你这代码有问题。首先interface中的成员变量必须是static,写public interface Face是通不过,你得写interface Face { static int counter} 。
2.private static int counter这里定义的counter跟接口中int counter = 40;   不是同一个变量,前者是实现类Test里面的,默认值为0,后者是Face接口里面,调用的方法是Face.counter;
3.++counter是先自增后赋值0自增得1,再赋值还是1 所以得出结果是1






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