【java】关于interface成员变量的修饰符
2016-04-20 09:53
429 查看
同学说,interface的成员变量只能被public static final修饰,但是我记得的看书说确实默认的修饰符是它们三个,也就是说你可以自己指定修饰符比如private什么的。现在就来做个实验看看到底什么情况。
首先,来看看自己添加修饰符的情况:
显然如同学所说,"only public, static & final are permitted".
其次,我们来看看究竟怎么个【默认修饰符是那三个】法。
我们依次声明三个成员变量:
编译,看此类的字节码文件:
首先,来看看自己添加修饰符的情况:
显然如同学所说,"only public, static & final are permitted".
其次,我们来看看究竟怎么个【默认修饰符是那三个】法。
我们依次声明三个成员变量:
public interface InterfaceTest { int a = 1; static int b = 2; final int c = 3; }
编译,看此类的字节码文件:
// Compiled from InterfaceTest.java (version 1.8 : 52.0, no super bit) public abstract interface ambigous.InterfaceTest { // Field descriptor #6 I public static final int a = 1; // Field descriptor #6 I public static final int b = 2; // Field descriptor #6 I public static final int c = 3; }可以看到,interface类的修饰符都默认为abstract,而且成员变量都被编译器加上了public static final修饰符。
相关文章推荐
- java web统计当前访问用户数量
- 生成MyEclipse6.5&7.5&8.0注册码的java源码 生成MyEclipse6.5&7.5&8.0注册码的java源码 MyEclipseKeyGen MyEclipse6.5&7.5&
- JAVA简单工厂模式
- spring中@ResponseBody和@JsonProperty作用
- SpringMVC 中无缓存的BasicController的设计
- 错误排查总结-eclipse中junit test或者run main方法报错
- Spring Task定时任务
- jdk版本不一致问题
- java学习之contentprovider
- spring4.2.4+hibernate5.1.0+struts2.3.24整合jar包
- 个人对设计模式的理解-->桥接模式
- 使用 Eclipse Memory Analyzer 进行堆转储文件分析
- spring boot官方中文文档
- Java7新特性--try-with-resources,自动关闭资源
- Java多态-如何理解父类引用指向子类对象
- JFrame基本操作,增加选择文件按钮
- 【学习笔记】系列十三:使用JMeter进行性能测试之Java请求
- Eclipse 配置SSH 详解
- java 泛型详解(普通泛型、 通配符、 泛型接口)
- Java同步和死锁的实例分析