我已经在Netbeans中编写了这段代码,但它会显示此方法名称的警告,请您帮我查看显示此警告的内容?感谢
public Node returnNode(int index) throws IndexOutOfBoundsException {
if (index < 0 || index > size) {
throw new IndexOutOfBoundsException();
} else {
for (int i = 0; i < index; i++) {
pointer = pointer.getNext();
}
}
return pointer;
}
答案 0 :(得分:4)
在这种情况下,非公开类型是您的Node
类。您很可能只想将其声明为public class Node
,而不仅仅是class Node
。
Netbeans似乎非常关注大型项目。在您编写将由外部代码使用的库包的情况下,此警告很有意义。如果您正在编写一个小型独立应用程序,那么将所有类的可见性设置为public
几乎没有什么害处。
答案 1 :(得分:0)
这个警告是可以理解的。返回非公共类型的公共方法将难以使用。首先,除非返回类型可见给调用者,否则它将无法将其分配给任何内容。
您应该更改方法或返回类型的可见性。
答案 2 :(得分:0)
您的公开方法返回一个Node,从错误中我猜测Node类未被声明为 public ,并且不能被与您相同的类看到方法。
而不是
public Node returnNode(int index)
这些类只会看到
public Object returnNode(int index)
要删除警告,请将节点类公开。