java – 接口中没有setter方法

前端之家收集整理的这篇文章主要介绍了java – 接口中没有setter方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个实现接口B的具体类A.
B ref = new A();

代码

public interface B{
  public abstract String[] getWords();
}

public class A implements B {
  private String[] words = new String[] {};
  public void setWords(String[] words){
    this.words = words;
  }
  public String[] getWords(){
    return this.words;
  }
 }

在接口B中,我只有getter方法但没有setter方法,尽管A类有它.

所以当我这样做时:B ref = new A();,这段代码会起作用,我将如何设置单词?

解决方法

如果接口确实暴露了它,则必须转换回原始类型
if (ref instanceof A)
   ((A) ref).setWords(words);
else
   // something else.

更好的解决方案是将方法添加到接口.

猜你在找的Java相关文章