<?xml version="1.0" encoding="UTF-8" ?>
<rss version="0.91">
  <channel>
    <title>調査ブログ</title>
    <description>よくわからないことを調べて解説してみるブログ。</description>
    <link>https://tyosa.blog.shinobi.jp/</link>
    <language>ja</language>
    <copyright>Copyright (C) NINJATOOLS ALL RIGHTS RESERVED.</copyright>

    <item>
      <title>Effective Java 読書日記　項目２数多くのコンストラクタパラメータに直面した時にはビルダーを検討する</title>
      <description>・テレスコーピングコンストラクタ&lt;br /&gt;
　コンストラクタに初期化パラメータをすべて引数にとる実装方式。&lt;br /&gt;
　必須のパラメータが可変である場合、可変パターンごとにコンストラクタに用意する必要がある。&lt;br /&gt;
　クラスが持つ初期化対象の変数がN個だとしたら、N!の数だけコンストラクタを必要とする可能性がある。&lt;br /&gt;
&lt;br /&gt;
・JavaBeansパターン&lt;br /&gt;
　new オブジェクト後に、パラメータごとに用意したsetメソッドで初期化する。&lt;br /&gt;
　&lt;br /&gt;
　メリット&lt;br /&gt;
　　パラメータが大量でも必要分だけの記述で対応可能。&lt;br /&gt;
　デメリット&lt;br /&gt;
　　コードが分断される。&lt;br /&gt;
　　setメソッドは実装上publicになるため、初期化時のみの利用というような制限ができない。&lt;br /&gt;
&lt;br /&gt;
・ビルダーパターン&lt;br /&gt;
　クラスの内部にstaticなビルダークラスを用意する。&lt;br /&gt;
　Builderクラスは、必須パラメータを引き受けるコンストラクタを持ち、&lt;br /&gt;
　任意パラメータに対する初期化メソッドを持つ。&lt;br /&gt;
　この初期化メソッドは返却型にBuilderクラスを指定する。&lt;br /&gt;
　&lt;br /&gt;
　初期化例&lt;br /&gt;
　Car car = Car.Builder(100, 120).setMaxSpeed(110, &quot;Km/h&quot;).setHoyeel(4).build();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; //雑ですみません。&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;メリット&lt;br /&gt;
　　テレスコーピングコンストラクタパターンと&lt;br /&gt;
　　JavaBeansパターンのデメリットを解消する&lt;br /&gt;
　デメリット&lt;br /&gt;
　　パラメータ数が少ないときにはあまり効果的ではない（しかし、パラメータの拡張性に富んでいるため間違いになることはないだろう）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</description> 
      <link>https://tyosa.blog.shinobi.jp/effective%20java%20%E8%AA%AD%E6%9B%B8%E6%97%A5%E8%A8%98/effective%20java%20%E8%AA%AD%E6%9B%B8%E6%97%A5%E8%A8%98%E3%80%80%E9%A0%85%E7%9B%AE%EF%BC%92%E6%95%B0%E5%A4%9A%E3%81%8F</link> 
    </item>
    <item>
      <title>Effective Java 読書日記　項目１コンストラクタの代わりにstaticファクトリーメソッドを検討する</title>
      <description>メリット&lt;br /&gt;
・コンストラクタに名前を付けられる&lt;br /&gt;
・返却型にそのサブタイプを選択できる&lt;br /&gt;
・シングルトンのインスタンスを返却できる&lt;br /&gt;
&lt;br /&gt;
デメリット&lt;br /&gt;
・クラス内の他のメソッドと見分けがつかない&lt;br /&gt;
　ファクトリー系なのかそれ以外なのか。&lt;br /&gt;
&lt;br /&gt;
読書メモ&lt;br /&gt;
・ファクトリーメソッドを持つクラスは出来ればファクトリークラスでありたい&lt;br /&gt;
　それが出来なければ、ラッパークラス型のvalueOfの実装を見てどういった考え方か確認する。&lt;br /&gt;
&lt;br /&gt;
・builderと呼ばれる方式はこの後出てくるのかな？</description> 
      <link>https://tyosa.blog.shinobi.jp/effective%20java%20%E8%AA%AD%E6%9B%B8%E6%97%A5%E8%A8%98/effective%20java%20%E8%AA%AD%E6%9B%B8%E6%97%A5%E8%A8%98%E3%80%80%E9%A0%85%E7%9B%AE%EF%BC%91%E3%82%B3%E3%83%B3%E3%82%B9</link> 
    </item>
    <item>
      <title>OCJP Gold 7合格</title>
      <description>OCJP Gold 7(Java SE Programmer Ⅱ）に合格しました。&lt;br /&gt;
無料キャンペーンを利用して、４回受けていました。&lt;br /&gt;
なのであまりえらそうなことは書けません。&lt;br /&gt;
&lt;br /&gt;
利用したのは下記の本です。&lt;br /&gt;
問題演習はやっておいて損はないです。&lt;br /&gt;
&lt;iframe width=&quot;320&quot; height=&quot;240&quot; style=&quot;width: 120px; height: 240px;&quot; src=&quot;http://rcm-fe.amazon-adsystem.com/e/cm?t=fxdreamer-22&amp;amp;o=9&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=4798144851&amp;amp;ref=tf_til&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=E11313&amp;amp;bc1=F3E6C5&amp;amp;bg1=F3E6C5&amp;amp;f=ifr&quot; scrolling=&quot;no&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
絶対に合格するなら、&lt;br /&gt;
テスト範囲の標準APIについて、&lt;br /&gt;
・JavaDocを読み込んでいること&lt;br /&gt;
　概要説明の記述を見て何のクラスのことか思い浮かべればベスト。&lt;br /&gt;
&lt;br /&gt;
・クラス図を描けること&lt;br /&gt;
　CollectionAPIやDBアクセス周りのクラス構成の理解。&lt;br /&gt;
　これをやっておくと、～Setに対する理解が非常に深まりますし、&lt;br /&gt;
　Javaそのものの考え方にも触れることが出来ます。&lt;br /&gt;
&lt;br /&gt;
・一連のメソッドの動作仕様の理解&lt;br /&gt;
　クラスの責務を果たすメソッドの複数回実行。&lt;br /&gt;
　クラスの責務を補佐するメソッドの実行後の責務を果たすメソッド実行時の挙動。&lt;br /&gt;
&lt;br /&gt;
・各メソッドの矛盾した利用による動作&lt;br /&gt;
　例えば、&lt;br /&gt;
&amp;nbsp; &amp;nbsp; resultSet.absolute(1);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; resultSet.next();を２回実行したときの挙動は？&lt;br /&gt;
&lt;br /&gt;
なぜ８ではなく７かというとラムダに苦手意識があるためです・・・。&lt;br /&gt;
いずれUpdate試験は受ける予定です。</description> 
      <link>https://tyosa.blog.shinobi.jp/ocjp%20gold%E5%AF%BE%E7%AD%96/ocjp%20gold%207%E5%90%88%E6%A0%BC</link> 
    </item>
    <item>
      <title> java.lang.Threadのライフサイクル</title>
      <description>&lt;pre class=&quot;brush:java;&quot;&gt;public class Main {
	public static void main(String[] args) {
		A a = new A();
		Thread aThread = new Thread(a, &quot;AThread&quot;);
		Thread bThread = new Thread(a, &quot;BThread&quot;);
		System.out.println(&quot;aThread.getState() :&quot; + aThread.getState());
		aThread.start();
		System.out.println(&quot;aThread.getState() :&quot; + aThread.getState());
		try {
			aThread.join();
		} catch (InterruptedException e) {
			// TODO 自動生成された catch ブロック
			e.printStackTrace();
		}
		System.out.println(&quot;aThread.getState() :&quot; + aThread.getState());
		aThread.start();
	}
}&lt;/pre&gt;
実行結果&lt;br /&gt;

&lt;blockquote&gt;
&lt;div&gt;aThread.getState() :NEW&lt;/div&gt;
&lt;div&gt;aThread.getState() :RUNNABLE&lt;/div&gt;
&lt;div&gt;aThread.getState() :TERMINATED&lt;/div&gt;
&lt;div&gt;Exception in thread &quot;main&quot; java.lang.IllegalThreadStateException&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at java.lang.Thread.start(Thread.java:705)&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at thread.joinToStart.Main.main(Main.java:18)&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div&gt;上記のとおり、&lt;br /&gt;
new Thread()：NEW&lt;br /&gt;
start() &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; : RUNNABLE&lt;br /&gt;
join() 後　　 ：TERMINATED&lt;br /&gt;
となり、再度start()することはできない。&lt;/div&gt;</description> 
      <link>https://tyosa.blog.shinobi.jp/ocjp%20gold%E5%AF%BE%E7%AD%96/java.lang.thread%E3%81%AE%E3%83%A9%E3%82%A4%E3%83%95%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB</link> 
    </item>
    <item>
      <title>[ITIL]合格しました。</title>
      <description>ITIL Foundationに合格いたしました。&lt;br /&gt;
&lt;br /&gt;
勉強時間は２０時間以下。&lt;br /&gt;
自社内では５時間以下の天才から３０時間オーバーまで。&lt;br /&gt;
&lt;br /&gt;
私は８割程度教科書を読みこみ、残りは２割は受験先に行く際の電車で読み込みました。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
この資格は開発経験の有無が勉強必要時間に関係していると思います。&lt;br /&gt;
&lt;br /&gt;
開発経験が無い場合は、活動の具体的なイメージがつきにくい方もいるかもしれません。&lt;br /&gt;
Foundationレベルなら丸覚えでもいけるかもしれません。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ITIL自体の有用性は非常にあると思います。&lt;br /&gt;
保有資格を増やすためだけに取るというより、今、将来にかけて、&lt;br /&gt;
今の現場や理想的な現場であるべき姿を追うために、どんな情報をどのタイミングで、管理・運用すべきなのか、を目指すために利用していきたいところです。&lt;br /&gt;
&lt;br /&gt;
ITILが浸透した組織では、運用・管理自体が洗練され、そのうえコミュニケーションコストも低減してくものと思われます。体系的な基盤を持った組織におけるコミュニケーションは無駄が排除されているはずだからです。</description> 
      <link>https://tyosa.blog.shinobi.jp/itil/-itil-%E5%90%88%E6%A0%BC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82</link> 
    </item>
    <item>
      <title>1.手始めに</title>
      <description>eclipse初期設定&lt;br /&gt;
マーケットプレイスより&lt;br /&gt;
・GoogleSDK&lt;br /&gt;
・emmet&lt;br /&gt;
インストール。&lt;br /&gt;
&lt;br /&gt;
次にGoogleAppEngineコンソールより新規ID取得。&lt;br /&gt;
&lt;br /&gt;
新規プロジェクト作成。&lt;br /&gt;
&lt;br /&gt;
以下に従いサンプルサイト作成&lt;br /&gt;
https://cloud.google.com/appengine/docs/java/gettingstarted/ui_and_code</description> 
      <link>https://tyosa.blog.shinobi.jp/gae/1.%E6%89%8B%E5%A7%8B%E3%82%81%E3%81%AB</link> 
    </item>
    <item>
      <title>作ればわかるGoogleAppEngine目次</title>
      <description>第一章　GoogleAppEngineの基礎知識&lt;br /&gt;
　すでにやっているので飛ばす。&lt;br /&gt;
&lt;br /&gt;
第二章　イツドコダレガナニシタ&lt;br /&gt;
　HellowWoldの確認&lt;br /&gt;
　サーブレットJSPの確認&lt;br /&gt;
　画面遷移の確認&lt;br /&gt;
&lt;br /&gt;
第三章　クラウド俳句部&lt;br /&gt;
　XMPPサービスの確認&lt;br /&gt;
&lt;br /&gt;
第四章　彼女からの目覚ましメール&lt;br /&gt;
　データストア&lt;br /&gt;
　タスクキュー&lt;br /&gt;
&lt;br /&gt;
第五章　アバター旅行記&lt;br /&gt;
　Flickerとのマッシュアップ例&lt;br /&gt;
&lt;br /&gt;
第六章　イマココ&lt;br /&gt;
　スマフォのGPS機能との連動&lt;br /&gt;
&lt;br /&gt;
第七章　新刊情報ガジェット&lt;br /&gt;
　ガジェット機能との連携&lt;br /&gt;
&lt;br /&gt;
第八章　人口無能ぐぐるちゃん&lt;br /&gt;
　Twitter都の連携&lt;br /&gt;
&lt;br /&gt;
第九章　全自動クイズヒラメかナイト&lt;br /&gt;
　定期クイズサイト&lt;br /&gt;
&lt;br /&gt;
第十章　スマートゲーム集&lt;br /&gt;
　認証とゲーム&lt;br /&gt;
&lt;br /&gt;
第十一章　みんなでお絵かき&lt;br /&gt;
　チャネルサービスを用いた同時参加お絵かきサイト&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
まとめ&lt;br /&gt;
　プログラムに慣れたひと（リファレンスから調べられる人）にとっては、冗長な部分が多いかな。プログラムは知っているけど何かを作ってみたい人の足がかりとしてはまぁまぁ有用かもしれない。もっと有用なものがあるのかと問われると、そもそも調べて試しての繰り返しでプログラムの力は育つと思われるので、完璧な書籍はない。</description> 
      <link>https://tyosa.blog.shinobi.jp/gae/%E4%BD%9C%E3%82%8C%E3%81%B0%E3%82%8F%E3%81%8B%E3%82%8Bgoogleappengine%E7%9B%AE%E6%AC%A1</link> 
    </item>
    <item>
      <title>[OCJP]試験結果（2回目）</title>
      <description>61％で不合格。&lt;br /&gt;
合格ラインは65％だった。&lt;br /&gt;
&lt;br /&gt;
試験結果からのフィードバックは、&lt;br /&gt;

&lt;ul style=&quot;orphans: 2; text-align: -webkit-auto; font-size: medium; font-family: Verdana;&quot;&gt;
&lt;li&gt;アサーションを使用した不変量のテスト&lt;/li&gt;
&lt;li&gt;インタフェースの継承とクラスの継承の選択&lt;/li&gt;
&lt;li&gt;コレクションを作成するためのダイアモンド演算子の使用&lt;/li&gt;
&lt;li&gt;シングルトン・デザイン・パターンを使用したクラス設計&lt;/li&gt;
&lt;li&gt;スレッドのライフサイクルの管理と制御&lt;/li&gt;
&lt;li&gt;スレッドの潜在的な問題の識別&lt;/li&gt;
&lt;li&gt;ファイルの読み込みおよび書き込みのためのストリームの使用&lt;/li&gt;
&lt;li&gt;メソッドのオーバーライド&lt;/li&gt;
&lt;li&gt;ラッパー・クラスとオートボクシングの使用&lt;/li&gt;
&lt;li&gt;共有データに対するスレッドのアクセスの同期化&lt;/li&gt;
&lt;li&gt;従来型とジェネリックス型を使用したコレクションの相互運用性の分析&lt;/li&gt;
&lt;li&gt;文字列の検索、解析および作成&lt;/li&gt;
&lt;li&gt;書式指定パラメータを使用した文字列の書式化： %b、%c、%d、%f、%s&lt;/li&gt;
&lt;li&gt;最上位レベルとネストクラスの作成&lt;/li&gt;
&lt;li&gt;（ピリオド）、*（アスタリスク）、+（プラス）、?、\d、\D、\s、\S、\w、\W、\b、\B、[]、()などのパターンを正規表現で使用して、文字列の検索、解析および置換を行う&lt;/li&gt;
&lt;li&gt;JDBCのトランザクションの振る舞いのカスタマイズとトランザクションのコミット&lt;/li&gt;
&lt;li&gt;WatchServiceを使用したディレクトリ変更の監視&lt;/li&gt;
&lt;li&gt;is-a関係とhas-a関係を実装するコードの作成&lt;/li&gt;
&lt;li&gt;throw文とthrows文の使用&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
覚えている範囲で、&lt;span style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;分からなかったところ。&lt;br /&gt;
&lt;/span&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・printfの引数の解釈ごとに例外が起きうるか？起きる場合、どのような例外か？&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・シングルトンパターン&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・compute,joinの用法&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・split,tokenizer,scannerの違い&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・is-a,has-aの理解&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・メソッド内のクラス宣言は可能か？&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・オートボクシングとオーバーロードにおける配列型と可変長引数の切り替え、型違いの切り替えについて&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・volatile&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・ライブロック&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・スレッドAのインスタンスオブジェクトを扱うsyncronizedメソッドAから更なるsyncronizedメソッドBを呼び、&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;　その後スレッドAから同様のメソッドAが呼ばれたとき、メソッドBからメソッドへ戻って来れるか？？？&lt;/div&gt;
&lt;div style=&quot;font-family: 'ＭＳ 明朝'; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;&quot;&gt;・BufferedInputReaderの skipメソッド&lt;br /&gt;
・各入出力クラスの上書きオプションの指定方法について&lt;br /&gt;
&lt;br /&gt;
90問中、まったく適当であろうと感じたケースが19問。&lt;br /&gt;
あとはある程度、判断できた問題が71問。&lt;br /&gt;
実際には、35問（39%）を間違えており、出来ると思い込んでいた問題が16問。&lt;br /&gt;
&lt;br /&gt;
・スレッドの問題は、印象に残りやすいが4～6問程度だったか。フィードバックを見る限り3問は間違えている・・・・&lt;br /&gt;
・NIO2は、問題集の範囲内で対応できた。&lt;br /&gt;
・is-a,has-aが分かっていない・・・&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
次回は、RETAKEキャンペーンがまた始まったらチャレンジとなるため、&lt;br /&gt;
おそらく例年通りであれば12月以降となる・・・。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
余談だが、&lt;br /&gt;
来月末はJSTQB Foundation（ソフトウェアテストにおける認定資格）を受験予定。&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</description> 
      <link>https://tyosa.blog.shinobi.jp/ocjp%20gold%E5%AF%BE%E7%AD%96/-ocjp-%E8%A9%A6%E9%A8%93%E7%B5%90%E6%9E%9C%EF%BC%882%E5%9B%9E%E7%9B%AE%EF%BC%89</link> 
    </item>
    <item>
      <title>[ITSS]IT資格のITSSレベル</title>
      <description>ITSSは、ITスキル標準の略。&lt;br /&gt;
&lt;br /&gt;
ITSSは、スキル標準ユーザー協会という組織で管理されている模様。&lt;br /&gt;
&lt;br /&gt;
こちらのページで、各ベンダーの認定資格やIPAの国家資格について、&lt;br /&gt;
ITSSのレベルをマッピングしている。&lt;br /&gt;
&lt;br /&gt;
http://www.ssug.jp/docs/&lt;br /&gt;
&lt;br /&gt;
・プログラム言語の扱いが可能であることを示すOCJPはレベル２&lt;br /&gt;
・応用情報はレベル３を全般的に保有していることを示す&lt;br /&gt;
・基本情報はレベル２を全般的に保有していることを示す&lt;br /&gt;
・資格によるITSSレベルは４までである。&lt;br /&gt;
・ITSSレベル４については、業務実績が必要でかつ認定機関がIPA、情報処理学会の2組織が存在する。IPAでは情報処理技術者試験を提供し知識面を試験、情報処理学会にて実績面を試験する（&amp;rarr;認定情報技術者制度と呼ばれている）。認定情報技術者制度は、国際規格（IFIP IP3）に準拠すべく設計されているとのことだが、現時点（2015/7）では、認定は受けていないようだ。&lt;br /&gt;
・レベル５以降に応じた資格試験はない。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</description> 
      <link>https://tyosa.blog.shinobi.jp/%E3%81%9D%E3%81%AE%E4%BB%96/-itss-it%E8%B3%87%E6%A0%BC%E3%81%AEitss%E3%83%AC%E3%83%99%E3%83%AB</link> 
    </item>
    <item>
      <title>[OCJP]static inner class, non-static inner class</title>
      <description>&lt;pre class=&quot;brush:java;&quot;&gt;package june20150623;

public class InnerStaticClass {
	static class InnerClass{
		public int no = 10;
		public static int value = 11;
	}
	class InnerClass2{
		public int no = 12;
//		public static int value = 13;	//	コンパイルエラー！staticでないインナークラスにstatic変数はfinal修飾子が必須。
										//	トップクラスおよび静的インナークラスのみ、staticの非final変数定義が許可されている。
										//	実行時のエラーメッセージ和訳
										//	「定数式で初期化されない限り、フィールドの値は、
										//	非静的インナータイプで静的に宣言することはできません」
		public static final int value2 = 14;
	}
	public static void main(String[] args) {
//		int no = new InnerStaticClass().InnerClass.no;	// コンパイルエラー！メンバ変数はstaticではない。

		//	instance-value of static inner class
		int no = new InnerStaticClass.InnerClass().no;	// メンバ変数はインスタンス変数であるため、インスタンス化したうえでのアクセスが可能。
														// インナークラスへのアクセスはstaticに可能。

		// static-value of static inner class
		no = InnerStaticClass.InnerClass.value;			// static インナークラスのstaticメンバ定義

//		no = new InnerStaticClass.InnerClass2().no;		// 最上位クラスのインスタンス化が前提と成るため、コンパイルエラー！

		// instance-value of non-static inner class
		no = new InnerStaticClass().new InnerClass2().no;

		// static-value of non-static inner class

		no = InnerStaticClass.InnerClass2.value2;		// non-static インナークラスへのstaticメンバ定義（final必須）
	}
}

&lt;/pre&gt;
&lt;br /&gt;
・インナークラスの生成式&lt;br /&gt;
　new 最上位クラス(). new インナークラス();&lt;br /&gt;
&lt;br /&gt;
・非staticインナークラスのメンバへのアクセス&lt;br /&gt;
　new 最上位クラス.new インナークラス().メンバ変数;&lt;br /&gt;
&lt;br /&gt;
・非staticインナークラスのstaticメンバへのアクセス&lt;br /&gt;
　最上位クラス.インナークラス.staticメンバ変数;&lt;br /&gt;
&lt;br /&gt;
・staticインナークラスのメンバへのアクセス&lt;br /&gt;
&amp;nbsp; &amp;nbsp; 最上位クラス.new インナークラス.メンバ変数;&lt;br /&gt;
　　&lt;br /&gt;
　　メンバ変数がstaticでないため、インナークラスをインスタンス化することでしか、メンバ変数を実体化出来ないため、本来不要であるstaticクラスのインスタンス化が必要となっている。&lt;br /&gt;
&lt;br /&gt;
・staticインナークラスのstaticメンバへのアクセス&lt;br /&gt;
　new 最上位クラス.インナークラス().staticメンバ変数;&lt;br /&gt;
&lt;br /&gt;
・トップクラスおよび静的インナークラスのみ、staticの非final変数定義が許可されている。</description> 
      <link>https://tyosa.blog.shinobi.jp/ocjp%20gold%E5%AF%BE%E7%AD%96/-ocjp-static%20inner%20class-</link> 
    </item>

  </channel>
</rss>