作业帮 > 数学 > 作业

接口里面new一个对象有意义么?

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/04/27 23:51:55
接口里面new一个对象有意义么?
interface B{
…………(省略若干)
A a=new A();

假设A是个class.我试过,这样不会报错,但实际有情况需要在接口里这么写的么?
有.
作为库用的时候会用到这种做法.
而且接口里面用对象 相当于 static final 的,不可变引用
再问: 能简单解释下怎么作为库用么,我之前也问过类似问题,大部分网友都说接口里面new对象的这种思想是不正确的
再答: 比如说,接口里面有个常量 Object A_KEY = new Object(); 相当于 public static final Object A_KEY = Object(); 这个对象在整个程序运行过程中是不会变的。 在程序某个地方用了一个Map类似的键值对数据结构的话,就可以用这个A_KEY作为键,把某个值绑定在这个对象上,每次都用这个对象找。 map.put(A_KEY,val); val = map.get(A_KEY); 这样,即使在多个map中,可以用这个键标识某个特殊意义的value,而不必重复建立不同的key了。 像mina这样的框架都会用这种方法。