Oracle認定Javaアソシエイツ(OCJ-A) その2
日記
私は行き帰りの電車で、教科書の方を読んでいます(下のAmazonの左の奴)。1日30分くらいですけど、ある程度オブジェクト指向を聞いた事あったり、プログラムやったことある人ならすいすい進めると思います。オブジェクト指向でよく出てくる単語の説明とプログラムでよく出てくる処理(ifとかforとか)の説明だからです。章末問題も割と簡単です。筆記用具要らないです。問題読んで、問題解いて、答え合わせして、解説を読みきっちゃうとすぐ下の次の答え見えちゃうから解説読んでないんですけど、後で読んだほうが良い気がします。って感じで進めていて、8章あるうちの今3章の章末問題のところです。土日には進めた章に対応する問題集(下のAmazonの右の奴を進める予定だったのですが全然できてません・・・。だ、大丈夫だと思います。そんな難しくないから今のところ大丈夫だと思います。
それはそうとstaticってそういう意味だったのか!ってわかって本当にうれしかったので書きます。
class MethodTest{ // staticメソッドの定義 static void method1(){ System.out.println("staticメソッド"); } // インスタンスメソッドの定義 void method2(){ System.out.println("インスタンスメソッド"); } } class Samlple{ public static void main(String[] args){ // staticメソッドは // クラス名.staticメソッド名でインスタンス生成しなくて呼べる MethodTest.method1(); // ウフフ☆オッケー♪ // インスタンスメソッドはインスタンス生成しないと呼べない // MethodTest.method2(); // エラる。ごめんねー☆ // インスタンス生成してからの MethodTest mt = new MethodTest(); // staticメソッドは参照変数名.メソッド名って感じで // インスタンスメソッドっぽくしても呼べる mt.method1(); // 大丈夫だよ〜! // インスタンスメソッドはインスタンスメソッドっぽくすれば当然呼べる mt.method2(); // いい感じ〜♪ } }
な、なんか「OK」ってコメントのところに書こうとしたときに、ローラ風にしたら面白いかなって思って・・・。ちゃんとプログラム作るときにはそういうコメントを付けるのはやめたほうが良いと思います!
「public static void main(String[] args)」って書いてあるところから処理が始まります。いやぁ、〜〜.〜〜()とかたくさん出てくるときに、どうなっているかいまいちわかってなくて使ってました。staticメソッドはインスタンス生成していなくても呼べるんですね!すごい!static変数も同様です。すごい!そうだったのかー!staticってそもそもそういう意味なんですケド。って言われるとそうなんでしょうが・・・。そんなんでやってきてしまっている自分が恐ろしいです。ちゃんと勉強しよう。というわけでまた明日からがんばります。