2010-05-30 2 views
2

Я написал этот код в Netbeans, но он покажет это предупреждение для имени этого метода, не могли бы вы помочь мне в том, что он показывает это предупреждение? спасибоэкспорт не_публичного типа через общедоступный API

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

Является ли «указатель» членом вашего класса? –

ответ

0

Это предупреждение понятно. Публичный метод, который возвращает непубличный тип, будет трудно использовать. Для начала, если только тип возврата не отображается вызывающему абоненту, он не сможет его назначить.

Возможно, вы должны изменить видимость метода или типа возврата.

4

Непринятый тип - это ваш класс Node в этом случае. Скорее всего, вы просто хотите объявить его public class Node вместо class Node.

Netbeans, похоже, полностью сосредоточен на больших проектах. В сценарии, где вы пишете библиотечный пакет, который будет использоваться внешним кодом, это предупреждение имеет большой смысл. Если вы пишете небольшое отдельное приложение, вам не составит большого труда установить видимость всех ваших классов на public.

0

Вашего общественного метод возвращает узел, от ошибок я бы предположил, что класс Node не объявлен общественной и не может рассматриваться теми же классы, как ваш метод.
Таким образом, вместо

public Node returnNode(int index) 

эти классы будут видеть только

public Object returnNode(int index) 

Чтобы удалить предупреждение сделать Узел класс общественного.