2011-12-05 15 views
16

私は2つのパッケージを持っています。最初のパッケージからインポートしたいクラスは、PUBLICとして宣言されています。にもかかわらず、私が2番目のパッケージからファイルをテストすると、次のようなコンパイルエラーが表示されます。クラスは外部パッケージからアクセスできません

PUBLICclassはmypackageで公開されていません。外部パッケージからアクセスできません

最初のパッケージからクラスにパブリックコンストラクタを追加しようとしましたが、何の違いもありません。

ご意見はありますか?私は、最初のパッケージからのクラスは以下のようになりますNetbeansの7

を使用します。

public class PUBLICclass extends AbstractClass { public PUBLICclass() { } } 
+3

は、あなたが質問にクラス宣言(コンストラクタと一緒にクラスXYZ)を追加することができます解決しましたか? –

+0

また、キーワード "public"(大文字にする必要はありません)とクラス名の間にスペースがあることを確認してください。 – andri

+2

万が一、この 'PUBLICclass'を*使用しているJavaファイルに' import'するのを忘れましたか? ( 'PUBLICclass'が置かれているパッケージの外側) – user268396

答えて

31

その後、あなたはそれが `公開」作られた、私はクラスPUBLICClass

あなたの最初の宣言は、パブリックではなかったと思いましょう、あなたのプロジェクトをきれいにし、再構築しようとすることができますか?

+1

LOL私はちょうどプロジェクトをきれいにして再構築しましたが、今問題はありません。 – deem

+0

時々起こる;) – mprabhat

+1

私の場合は、IDEを再起動すると(私はAndroidスタジオを使用しています)助けました。 –

0

は、万が一ですかあなたは掲載一つは(1が公開されているプロジェクト、二つPUBLICclass授業をしていますここでの署名)、もう一つはパッケージで表示され、コード内で間違ったものをインポートしますか?

1

デフォルトのスーパークラスのコンストラクタを確認してください。それは公開または保護されている必要があります。

5
public SmartSaverCals(Context context) 
{ 
    this.context= context; 
} 

あなたは私の場合の問題をconstructor.inに公共の追加は