26.1.7.7 公開・非公開

クラスの中に定義されたデータやメソッドは,指示子 "public" を指定しなければ「外部からは」見えませんが,内部からは見る(アクセスする)ことはできます.

class Parabola {
 public static void main(String argv[ ]) {
     int x;
     for(x=-6; x<=6; x=x+1)
         plot(x*x);
 }
 static void plot(int k){
     int j;
     for(j=1; j<=k; j=j+1)
         System.out.print(' ');
     System.out.println('*');
 }
}

fileParabola.java

これは,左に凸な放物線(のような)図形を表示するプログラムです.各行について,スペースを何個か表示した後にアスタリスクを表示します.

全体は一つのクラスParabolaです.もし何も指定しないと,外部から見えるのはクラス名Parabolaだけです.

クラスParabolaの要素は二つのメソッド main と plot ですが,main の方だけ "public" がついています.したがって main は外から見える(外部から呼び出せる)一方,plot は外からは見えません.ただし plot と main はクラスParabolaの内部で同一レベルにありますから,main から plot を呼ぶことはできます.しかし「卵」である main から直接に呼ばれるわけですから, plot も"static" の性質をもたせておく必要があることになります.