关于Interface中定义变量的注意事项
来源:互联网 发布:h3c 查看端口实时流量 编辑:程序博客网 时间:2024/05/01 07:32
最近在做项目的时候遇到了一个关于Interface定义变量的问题,感觉有点模糊,所以研究并总结了一些Interface中定义变量的注意事项,欢迎批评指正。
1.在Interface中定义变量的时候要将变量定义成public static final 类型。当然,你的变量也可以不定义成static类型,因为成员变量被定义成了public型,实例化的对象可以直接访问。
2.接口是可以继承接口的,带有成员变量的接口也可以被继承,但是不能对成员变量做修改。
3.由于接口中的成员变量不能被修改,所以在定义接口的时候要为其赋初值。
4.成员变量在定义的时候可以不加任何修饰符,但是系统在编译的时候会将其默认为static final类型,所以为了程序的可读性,建议加上修饰符。
5.关于Interface中成员变量的访问问题:
第一种:接口.成员变量
第二种:子接口.成员变量
第三种:扩展类.成员变量
第四种:扩展类的实例.成员变量
另附个人的一个example:
自定义的接口,继承接口的接口,实现前两个接口的类
public interface I {
//从配置文件中获取num值
public final int num = Get.getProperties();
public int get();
}
interface B1 extends I{
public void set(int num);
}
class T implements B1{
@Override
public int get() {
// TODO Auto-generated method stub
return num;
//return 0;
}
public void set(int num){
//this.num = num;
}
}
测试类
public class Test {
public static void main(String[] args) {
T a1 = new T();
System.out.println(a1.get());
T a2 = new T();
System.out.println(a2.get());
System.out.println(B1.num);
}
}
次类时用来读取配置文件的,实际中很常用
public class Get {
public static int getProperties(){
int num=0;
Properties p = new Properties();
try {
//用此种方法得到文件流系统会报错,具体原因未深究
//InputStream ip = new FileInputStream("com\\sun\\demo\\my.properties");
//获取当前文件下的制定properties
InputStream ip = Get.class.getResourceAsStream("my.properties");
p.load(ip);
if(p.containsKey("num")){
String temp = p.getProperty("num");
num = Integer.parseInt(temp);
}
ip.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return num;
}
}
- 关于Interface中定义变量的注意事项
- 关于如何访问interface中定义的变量
- 关于c语言变量定义的注意事项
- 对于程序中变量定义的注意事项
- 变量定义的注意事项
- @interface中定义变量与@property的区别
- 定义属性变量的注意事项
- C语言中关于变量的定义
- 定义变量的位置 @interface VS @implementation
- 关于变量的定义
- 关于变量的定义
- iOS开发—在@interface,@implementation和@property中变量的定义
- iOS开发—在@interface,@implementation和@property中变量的定义
- STL中关于_Predicate变量的传参注意事项
- Java 变量定义的时候注意事项
- Java 变量定义的时候注意事项
- 变量问题定义时的注意事项
- 关于as中变量定义中SCOPE的问题
- canvas
- Unable to post the review. &&The user specified as a definer ('admin'@'localhost') does not exist
- 各种 Java Thread State 第一分析法则
- poj 1122 FDNY to the Rescue!
- 手把手教大家如何在CSDN博客中插入图片
- 关于Interface中定义变量的注意事项
- 【JAVA笔记——术】java枚举类使用
- ios-使用观察者模式
- hdu4850(欧拉回路的应用)
- Java WebService入门实例
- Qt(C++)将字符串输入框中的数字字符串转换成十六进制命令的方法。
- 不错的学习资源--DV成电
- JS中对象与字符串的互相转换
- centos 7 安装和配置vncserver