ここのとこ、テスト対策の大詰めとして、
放置していたjavaのコマンド関連の勉強をしています。
私はeclipseで勉強していたので、
ほとんどjavaコマンドを使ってコンパイルすることはありませんでした。
ですが、OCJ-Pでは出題範囲なので、軽く勉強していました。
そしていろいろ調べているうちに、
javacコマンドの面白い性質を発見しました。
それは、クラスの修飾子とファイル名は関係ある。
ということです。
例えば、
publicクラスとprivateクラスを適当に作ります。
Sample.javaには
public class A{}
とだけ書きました。
Sample2.javaには
private class B{}
とだけ書きました。
そして、コマンドプロンプトで、
javac Sample.java
javac Sample2.java
と入力し、エンター。
すると、1行目はコンパイルできないけど、
2行目はコンパイルできるんですね^^
何が面白いかって、
コンパイルエラーの説明文が面白いです。
クラスAはpublicであり、ファイルA.javaで宣言しなければなりません。
ということです!
へ~~~~~
なんか、深く追求すると勉強になりそうですね♪
おいおい、コンパイラーについて勉強してみます^^