黑马程序员技术交流社区

标题: 问下编译的时候类名输错了,怎么还能编译通过啊、 [打印本页]

作者: 李阳阳    时间: 2013-3-12 11:56
标题: 问下编译的时候类名输错了,怎么还能编译通过啊、
这是多态的时候敲的,类名应该是DuoTaiTeDian,但是怎么编译通过了呢、

s.jpg (88.89 KB, 下载次数: 15)

s.jpg

作者: BitmapFactory    时间: 2013-3-12 12:14
本帖最后由 张学林 于 2013-3-12 12:15 编辑
  1. D:\java1\day06>javac arraydemo.java

  2. D:\java1\day06>java arraydemo
  3. Exception in thread "main" java.lang.NoClassDefFoundError: arraydemo (wrong name
  4. : ArrayDemo)
  5. at java.lang.ClassLoader.defineClass1(Native Method)
  6. at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
  7. at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
  8. at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14
  9. 1)
  10. at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
  11. at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
  12. at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
  13. at java.security.AccessController.doPrivileged(Native Method)
  14. at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
  15. at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  16. at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
  17. at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
  18. Could not find the main class: arraydemo. Program will exit.

  19. D:\java1\day06>java ArrayDemo
  20. 6
复制代码
在编译的时候好像是不区分大小写的,在运行的时候区分
作者: 施家雄    时间: 2013-3-12 12:52
本帖最后由 施家雄 于 2013-3-12 13:07 编辑

在编译时是不区分大小写的。例如下列代码:
  1. public class Demo03 {
  2.     public static void main(String[] args) {
  3.         // TODO Auto-generated method stub
  4.         String s1 = new String("abc") ;
  5.         String s2 = new String("abc") ;
  6.         if( s1 == s2 ){ //不会执行的语句}
  7.        System.out.println("在堆中创建了一个对象");

  8.     }
  9.         else{
  10.         System.out.println("在堆中创建了两个对象");   
  11.         }
  12.         }
  13. }
复制代码
编译运行的结果为:
file:///C:/1.png

但是运行时必须与类名一致,区分大小写的。
不知道我发的图片能不能看到,我又上传了附件。

1.png (18.49 KB, 下载次数: 5)

1.png

作者: 李阳阳    时间: 2013-3-12 13:28
张学林 发表于 2013-3-12 12:14
在编译的时候好像是不区分大小写的,在运行的时候区分

知道了,谢谢、
作者: 李阳阳    时间: 2013-3-12 13:28
施家雄 发表于 2013-3-12 12:52
在编译时是不区分大小写的。例如下列代码:编译运行的结果为:

知道了,谢谢、




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2