アイツにだけは負けたくない。
結果はどうなる?クラス編
最終更新:
yu_cyo
-
view
- 実行結果は?
但し、プログラムはTestClass.javaに記述されてるものとする。
■例文
public abstract class TestClass {
}
final class testclass {
}
abstract class Subclass {
}
■選択肢
A) クラス名が重複するからコンパイルエラー B) finalはクラス名に指定できないからコンパイルエラー C) abstractaはクラス名に指定できないからコンパイルエラー D) abstractクラスは1つのファイルに2つ以上記述できないから コンパイルエラー 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 "main" 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)