Twitterで海外のデベロッパーの人がStatic and Instanceについて共有してくれているのを見つけたのでDev環境で試してみました。
TIL Apex supports initializers!
https://t.co/e5NbBR18PC pic.twitter.com/UWalxFbTnA
— Matt and Neil (@bigassforce) 2014, 12月 20
試してみたコード
デバッグログ
こういう宣言の仕方もあったんですね。この方法を利用すると複数の項目に値をセットするという使い方ができます。
public String Foo; static String Help; static String Help2; { Foo = 'Foo!!'; } static { Help = 'Help!!'; // static initialization Help2 = 'OK'; }
それから今まで試したことがなかったのですが、内部クラスではstatic変数は宣言できませんでした。まぁ内部クラスでstatic宣言が必要になることもなかったです。