正確な動作
答えて
System.out.println
行からDog.
を削除すると、コードはコンパイルされなくなります。私はあなたのCat
クラスからextends Dog
をオフに残してきたと仮定するつもりです:、i
が解決した理由は、Cat
がDog
であるということですので、場合
class Dog
{
public static int i=6;
}
public class Cat extends Dog // <===== Note
{
public static void main(String[] arg)
{
System.out.println(Dog.i);
}
}
、およびコード内Dog
クラスかCat
(public
またはprotected
メンバー)のようなサブクラス、Dog
で定義された静的識別子が範囲内にあります。あなたはそれらを修飾する必要はありません(ただし、そうすることで明快さを助けることができます)。
私はこれが答えであるかわかりません、おそらく "著者が何を意味するか"ということです。 –
@JacekCz:それはOPが表現する症状に合っているので、私はかなり確信しています。それが間違っているとわかったら削除します。 –
はい、あなたのプログラムは専門的に正しいですか(おそらく自然でない継承)、私は "教訓的な"レベルでしかないと疑います。 –
あなたはDog.classファイルを削除しませんでした。それ以外の場合、コンパイルは不可能でした。
私はOPがちょうど 'javac'をrerantoと思う。 'Cat.class'は' Cat.java'より新しいので、再コンパイルされないかもしれません。 –
@PeterLawrey私は投機にあまり興味がありませんが、javacは、コード "*"からクラス "Dog"を削除したときに、特にコマンドラインを開く名前のファイル – EJP
javac
コンパイラが行う最適化のうちの1つは、定数インライン展開です。これは、コンパイル時に知られているプリミティブ定数をすべて挿入できることを意味します。これはあなたのコードは、あなたがDog.*
を削除し、あなたはそれが正しく実行されますCat
を再コンパイルしていない提供することができ
public class Cat
{
public static void main(String[] arg)
{
System.out.println(6 /*Dog.i*/);
}
}
と同じであることを意味します。注:javac
を再度実行しても、すべてが再コンパイルされるわけではありません。javac
は.class
ファイルが.java
ファイルではないかどうかをチェックします。
また、Dog.java
を削除すると、Dog.class
が削除されず、このクラスを後で再コンパイルするだけで済みます。
が記述*に適合しないファイルを再コンパイルします。もう一度コンパイルしていないことに気付かずに(EJPの回答に対するあなたのコメント)、 'extended dog 'は持っていますが、そうではありません。 –
@TJCrowder私は 'extends Dog'がどのように相違するのか分かりません。定数にはクラス名に' Dog.i'が含まれています。OPがクラス "Dog"を削除したと言うと、 'Dog.java'も' Cat.class'が再コンパイルされたかどうかも確認されませんでした。 –
"犬を取り除いた"とは、残りの質問の文脈と '私がどこから来たのか疑問に思う方法を考えると、' System.out.println'行を意味していると思いました。しかし根本的に、この質問はあなたの時間、鉱山、またはEJPの価値が明らかにされるまで/それほど価値がない。 :-) –
- 1. 正確な動作
- 2. HTML emspエンティティ正確な動作
- 3. Unity:PlayScheduled()で正確なメトロノームが動作しない
- 4. WxPython - モーダルウィンドウの動作が不正確
- 5. のようなクエリは正確には動作しません
- 6. 何が出力され、正確な動作が#
- 7. JSの確認ボックスがChromeで正しく動作しない
- 8. CUDA実行の正確な動作は何ですか?
- 9. PushNotificationsがiOSで正しく動作しない(確実に)
- 10. 不正確なバージョンを含む作者の自動ロード
- 11. timers.timerは正確に起動しない
- 12. 正確なコンパスを作る方法android
- 13. JavaFX正確なProgressBarsを作成する
- 14. 正確なぼかしの作り方
- 15. 正確な方法は、最終的なメソッドは、Javaで動作する
- 16. django.core.urlresolvers.resolve不正な動作
- 17. 正確な数
- 18. 正確なオンライン
- 19. 正確なウェブレイアウトが不正確なのはなぜですか?
- 20. io_service :: poll_one非確定的な動作
- 21. ダイアログが正常に動作しないことを確認します
- 22. メッセージボックスが正常に動作しないことを確認します。
- 23. インデックスが正しく動作していないことを確認する - MongoDB
- 24. rails - hidden_fieldとhidden_field_tagの正確な動作は何ですか?
- 25. 気泡の種類が正確には動作しません
- 26. 正確にsimplepie set_timeout()は動作しますか?
- 27. execlpはどのように正確に動作しますか?
- 28. 正確には何のトリガーが動作しません
- 29. インポートライブラリはどのように正確に動作しますか?
- 30. bindingnameはどのように正確に動作しますか?
'System.out.println'行から' Dog.'を削除すると、コードはもうコンパイルされません。 –
保存を忘れてしまったようです。 –
段落全体に無作為に適用するのではなく、実際の強調には* italics *と** boldface **を使用してください。 –