<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/yu_cyo/">
    <title>アイツにだけは負けたくない。</title>
    <link>http://w.atwiki.jp/yu_cyo/</link>
    <atom:link href="https://w.atwiki.jp/yu_cyo/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>アイツにだけは負けたくない。</description>

    <dc:language>ja</dc:language>
    <dc:date>2006-09-22T02:41:53+09:00</dc:date>
    <utime>1158860513</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/25.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/18.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/yu_cyo/pages/14.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/23.html">
    <title>インナークラスの説明</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/23.html</link>
    <description>
      +正しい説明は？

 A) [[インナークラス]]は外側のクラスと同じ名前で定義することができる。
 B) メソッド内に定義するローカルクラスには、アクセス修飾子を
 　　指定できない
 C) インナークラス内には、static変数、staticメソッド、
 　　staticクラスをメンバとして定義できる。
 D) メソッド内に定義するローカルクラスの宣言にはabstractおよび
 　　finalの指定は可能。
 E) 匿名クラスにはコンストラクタは定義できない。


■解説

インナークラス内には、static final変数を除く、
static変数、staticメソッド、staticクラスをメンバとして定義できない。


ローカルクラスのクラス修飾子として、
abstract及びfinalの指定は可能。


&#039;&#039;匿名クラスにはコンストラクタは定義できない&#039;&#039;


----
[[このページのトップへ&gt;インナークラスの説明]]

[[問題集目次へ&gt;【問題集】インナークラス]]    </description>
    <dc:date>2006-09-22T02:41:53+09:00</dc:date>
    <utime>1158860513</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/25.html">
    <title>インナークラス</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/25.html</link>
    <description>
      #contents
----
*[[問題集&gt;【問題集】インナークラス]]    </description>
    <dc:date>2006-09-21T17:32:16+09:00</dc:date>
    <utime>1158827536</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/22.html">
    <title>【問題集】インナークラス</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/22.html</link>
    <description>
      #contents
----
*[[インナークラスの説明]]
*[[コンパイルエラーにならないインナークラス]]    </description>
    <dc:date>2006-09-21T17:29:34+09:00</dc:date>
    <utime>1158827374</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/24.html">
    <title>コンパイルエラーにならないインナークラス</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/24.html</link>
    <description>
      +「//ここに記述」の部分に記述してコンパイルエラーにならないのは？


■例文

 class Outer {
 
 	private double val = 10;
 	
 	void func() {
 	
 		//ここに記述
 	
 	}
 }


■選択肢

+A
 static class Inner {
 	static void method() {
 		val ++;
 	}
 }


+B
 abstract class Inner {
 	void method() {
 		val ++;
 	}
 }


+C
 abstract class Inner {
 	static void method() {
 		val ++;
 	}
 }


+D
 class Inner {
 	void method() {
 		val ++;
 	}
 }


+E
 final static class Inner {
 	void method() {
 		val ++;
 	}
 }


■実行結果

+鉄則
メソッド内に定義するローカルクラスには、アクセス修飾子や
staticを指定することはできない。

また、ローカルクラス内には、static変数（static final除く）、
staticメソッド、staticクラスは宣言できない。


+Aの場合
 YUH@computer /cygdrive/c/java/pbm
 $ javac Outer.java
 Outer.java:7: 式の開始が不正です。
  static class Inner {
 ^
 Outer.java:7: &#039;;&#039; がありません。
  static class Inner {
         ^
 エラー 2 個


+Bの場合
 YUH@computer /cygdrive/c/java/pbm
 $ javac Outer.java
 
 YUH@computer /cygdrive/c/java/pbm


+Cの場合
 YUH@computer /cygdrive/c/java/pbm
 $ javac Outer.java
 Outer.java:9: static でない 変数 val を static コンテキストから
 参照することはできません。
                val ++;
                ^
 Outer.java:8: 内部クラスが static 宣言を持つことはできません。
        static void method() {
                    ^
 エラー 2 個


+Dの場合
 YUH@computer /cygdrive/c/java/pbm
 $ javac Outer.java
 
 YUH@computer /cygdrive/c/java/pbm


+Eの場合
 YUH@computer /cygdrive/c/java/pbm
 $ javac Outer.java
 Outer.java:7: 修飾子 static をここで使うことはできません。
  final static class Inner {
               ^
 エラー 1 個


----
[[このページのトップへ&gt;コンパイルエラーにならないインナークラス]]

[[問題集目次へ&gt;【問題集】インナークラス]]    </description>
    <dc:date>2006-09-21T17:28:16+09:00</dc:date>
    <utime>1158827296</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/21.html">
    <title>結果はどうなる？クラス編</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/21.html</link>
    <description>
      +実行結果は？
但し、プログラムはTestClass.javaに記述されてるものとする。


■例文

 public abstract class TestClass {
 
 }
 
 final class testclass {
 
 }
 
 abstract class Subclass {
 
 }


■選択肢

 A) クラス名が重複するからコンパイルエラー
 B) finalはクラス名に指定できないからコンパイルエラー
 C) abstractaはクラス名に指定できないからコンパイルエラー
 D) abstractクラスは１つのファイルに２つ以上記述できないから
 　　コンパイルエラー
 E) コンパイルはできるが実行できない。
 F) コンパイルし、実行すると何も表示されない。


■実行結果

TestClassとtestclassは異なる識別子として認識される。
（大文字と小文字は区別するから）
だからコンパイルは正常終了する。


だけど、実行するにしてもmain()メソッドがないから実行できない。

 YUH@computer /cygdrive/c/java/pbm
 $ javac TestClass.java
 
 YUH@computer /cygdrive/c/java/pbm
 $ java TestClass
 Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError:
  TestClass (wrong name: testclass)
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
      at java.security.SecureClassLoader.defineClass
          (SecureClassLoader.java:124)
      at java.net.URLClassLoader.defineClass
          (URLClassLoader.java:260)
      at java.net.URLClassLoader.access$100
          (URLClassLoader.java:56)
      at java.net.URLClassLoader$1.run
          (URLClassLoader.java:195)
      at java.security.AccessController.doPrivileged
          (Native Method)
      at java.net.URLClassLoader.findClass
          (URLClassLoader.java:188)
      at java.lang.ClassLoader.loadClass
          (ClassLoader.java:306)
      at sun.misc.Launcher$AppClassLoader.loadClass
          (Launcher.java:268)
      at java.lang.ClassLoader.loadClass
          (ClassLoader.java:251)
      at java.lang.ClassLoader.loadClassInternal
          (ClassLoader.java:319)

----
[[このページのトップへ&gt;結果はどうなる？クラス編]]

[[問題集目次へ&gt;【問題集】宣言とアクセス制御]]    </description>
    <dc:date>2006-09-21T16:51:50+09:00</dc:date>
    <utime>1158825110</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/12.html">
    <title>【問題集】宣言とアクセス制御</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/12.html</link>
    <description>
          </description>
    <dc:date>2006-09-21T16:33:18+09:00</dc:date>
    <utime>1158823998</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/20.html">
    <title>結果はどうなる？コマンドライン編2</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/20.html</link>
    <description>
      +実行結果は？

■コマンドライン
 &gt;java CommandLine2 A B C


■例文

 01 public class CommandLine2 {
 02 
 03 	public static void main(String[] args) {
 04 
 05 		if(args[1].equalsIgnoreCase(&quot;b&quot;)) {
 06 	
 07 			System.out.println(new 
 						Character(args[1]));
 08 		}
 09 	}
 10 }


■選択肢

 A) ５行目でコンパイルエラー
 B) ７行目でコンパイルエラー
 C) 「A」が表示
 D) 「B」が表示
 E) 「b」が表示
 F) 何も表示されない


■実行結果

Characterのコンストラクタはchar型を引数に指定するものしかない。
よって、コンパイルエラー。

 YUH@computer /cygdrive/c/java/pbm
 $ javac CommandLine2.java
 CommandLine2.java:7: シンボルを見つけられません。
 シンボル: コンストラクタ Character(java.lang.String)
 場所    : java.lang.Character の クラス
                         System.out.println(new
                                            ^
 エラー 1 個


+equalsIgnoreCase()メソッド
 対象の文字列の大文字と小文字を区別しないで
 引数に指定した文字と比較。

equals[1]はBだから、コンパイルに成功した場合、
equalsIgnoreCase()メソッドはtrueを返す。

----
[[このページのトップへ&gt;結果はどうなる？コマンドライン編2]]

[[問題集目次へ&gt;【問題集】開発]]    </description>
    <dc:date>2006-09-21T16:28:10+09:00</dc:date>
    <utime>1158823690</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/18.html">
    <title>【問題集】開発</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/18.html</link>
    <description>
      *[[結果はどうなる？コマンドライン編]]

*[[結果はどうなる？コマンドライン編2]]    </description>
    <dc:date>2006-09-21T16:15:46+09:00</dc:date>
    <utime>1158822946</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/19.html">
    <title>結果はどうなる？コマンドライン編</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/19.html</link>
    <description>
      +５行目に記述してコマンドラインからの引数を表示するのは？

■コマンドライン
 &gt;java CommandLine One Two Three


■例文

 01 public class CommandLine {
 02 
 03 	public static void main(String[] args) {
 04 	
 05 		//ここに記述
 06 		
 07 	}
 08 }


■選択肢

 A) System.out.println(args.length());
 B) System.out.println(args[].length);
 C) System.out.println(args.length - 1);
 D) System.out.println(args[].length -1);
 E) System.out.println(args.length);
 F) System.out.println(args.length() -1);


■実行結果

***Aの場合

配列の要素数は
&quot;配列名.length&quot;
なので、要素数取得の段階でコンパイルエラー

 YUH@computer /cygdrive/c/java/pbm
 $ javac CommandLine.java
 CommandLine.java:5: シンボルを見つけられません。
 シンボル: メソッド length()
 場所    : java.lang.String[] の クラス
                 System.out.println(args.length());
                                        ^
 エラー 1 個


***Bの場合

配列の要素数は
&quot;配列名.length&quot;
なので、要素数取得の段階でコンパイルエラー

 YUH@computer /cygdrive/c/java/pbm
 $ javac CommandLine.java
 CommandLine.java:5: class がありません。
                 System.out.println(args[].length);
                                           ^
 CommandLine.java:5: &#039;)&#039; がありません。
                 System.out.println(args[].length);
                                                  ^
 エラー 2 個


***Cの場合

コンパイルは正しく行うことが出来る。
が、取得した要素数から１を引いているので、実際の要素数と異なる。

 YUH@computer /cygdrive/c/java/pbm
 $ javac CommandLine.java
 
 YUH@computer /cygdrive/c/java/pbm
 $ java CommandLine One Two Three
 2


***Dの場合

配列の要素数は
&quot;配列名.length&quot;
なので、要素数取得の段階でコンパイルエラー

 YUH@computer /cygdrive/c/java/pbm
 $ javac CommandLine.java
 CommandLine.java:5: class がありません。
                 System.out.println(args[].length -1);
                                           ^
 CommandLine.java:5: &#039;)&#039; がありません。
                 System.out.println(args[].length -1);
                                                     ^
 エラー 2 個


***Eの場合

コンパイルは正しく行うことができる。
要素数も
&quot;配列名.length&quot;を使っているので正しく取得。

 YUH@computer /cygdrive/c/java/pbm
 $ javac CommandLine.java
 
 YUH@computer /cygdrive/c/java/pbm
 $ java CommandLine One Two Three
 3

***Fの場合

配列の要素数は
&quot;配列名.length&quot;
なので、要素数取得の段階でコンパイルエラー

 YUH@computer /cygdrive/c/java/pbm
 $ javac CommandLine.java
 CommandLine.java:5: シンボルを見つけられません。
 シンボル: メソッド length()
 場所    : java.lang.String[] の クラス
                 System.out.println(args.length() -1);
                                        ^
 エラー 1 個


[[このページのトップへ&gt;結果はどうなる？コマンドライン編]]

[[問題集目次へ&gt;【問題集】開発]]    </description>
    <dc:date>2006-09-21T16:14:56+09:00</dc:date>
    <utime>1158822896</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/yu_cyo/pages/14.html">
    <title>正しいString型の宣言は？</title>
    <link>https://w.atwiki.jp/yu_cyo/pages/14.html</link>
    <description>
          </description>
    <dc:date>2006-09-21T15:27:27+09:00</dc:date>
    <utime>1158820047</utime>
  </item>
  </rdf:RDF>
