2017-01-08 7 views
-2

を読んだことがない:。(何らかの理由で私のコードは、そのことについて申し訳ありませんが、正しく表示されませんでしたIジェネリック医薬品を見えるようにするために使用バックスペース。)警告:私はこの警告は私のコードで表示され、どのように私は</p> <p>編集それを修正することができている理由を理解したいフィールドローカル

class LinkedSortedAppendList<T extends Comparable<T>> implements SortedAppendList<T>{ 

    private class ListCell { 
     T content; 
     ListCell prev; 
     ListCell next; 

     ListCell(T v, ListCell p, ListCell n) { 
      this.content = v; 
      this.prev = p; 
      this.next = n; 
     } 
    } 
+0

完全なコードをお知らせください。 – hotzst

+0

これは明らかに内部クラスです。より多くの文脈を示してください。 'private 'を削除し、' class ListCell'の後に ''を追加すると(例えば、非内部クラスとしてコンパイルするように)、コンパイラ警告はありません。 More:[mcve] –

+0

あなたの答えはありがたいですが、正しく表示されなかったのでコードを編集しました。私がを追加すると、「タイプを隠している」という警告が表示されます。また、内側のリストのセルクラスは常に非公開として宣言するためにカプセル化されるべきであると言われました。そして、私は外部クラスのものと同じTを使用しているので、を追加する必要はありません。 – peterparker

答えて

0

あなたはそれだけで、それはトップレベルのクラスだから見えだことを意味し、プライベートとしてのlistcellクラスを言及しています。その使用範囲はそのクラス内であるため、そのクラス内で使用しない場合はこの警告が表示されます。

+0

okですが、内部リストのセルクラスはカプセル化の原則のためにプライベートにする必要があると言われました。この原則を「破る」ことなくこれを解決する方法はありますか? – peterparker

+0

あなたの内部クラスの使用法がそのトップレベルクラスに限定されていて、他のクラスがそのクラスを使用していない場合は、それを非公開にしておくことが理にかなっています。しかし、あなたがそれを使用していないなら、それはトップレベルのクラスであり、それは目的がなく、他のクラスはそれにアクセスできません。 –

関連する問題