您的位置:首页 > 其它

关于Interface中定义变量的注意事项

2014-09-06 23:35 357 查看
最近在做项目的时候遇到了一个关于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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: