A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 天涯无痕 于 2014-11-17 23:17 编辑



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);         
}     
}   

2 个回复

正序浏览
interface Face{   //第一行你得代码就有错误!一个文件中只能有一个public类型的声明!
int counter = 40;    //接口里面的常量 默认前面定义 public static final

//我觉得你对接口的功能没有理解,接口是用来定义规则 即方法的,你定义一个常量 没有一点意义!
}      
public class Test implements Face{   
private static int counter;  //不知道你这句话的目的?实现接口的一个常量?这里直接覆盖了 counter值是0,
public static void main(String[]args){
       System.out.println(++counter);      //++运算符 先运算0+1=1  再输出为1
//正常输出,类主要是静态加载的特性---类加载,静态直接加载   
}     
}   
回复 使用道具 举报
结果为1,访问子类的counter,在静态常量在默认初始化后,可以进行一次显式赋值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马