学习Java

    首先说明我只是一个Java初学者,没有对Java深入的了解,只能从学习的角度去写下自己对Java的认识,没有任何语言攻击行为,也有不对的地方,希望大家指正。

学习环境(Windows Server 2003 + EditPlus + JDK1.5)
学习时间:一天

 一、 古怪的命名规则
    拿一个简单的Hello,Java来说,如果说定义类时写下的是class HelloJava,那么在保存文件名时就必须是“HelloJava.java”而且大小是严格区分的(仅文件名)。假如我存储为Hello.java,用javac编译时完全可以无误的通过而当用用java解释时,就会出现下面的错误,java.lang.NoClassDefFoundError: Hello (wrong name: Hello)。关于这一点,我估计java在解释Hello.class文件来可能会动态的生成该类的一个对象,可能就是根据这个文件名。再来说说大小写的问题,同样存储为 helloJava.java时,也会出现上面的问题,如果上面的估计是正确的,那么这一点很容易解释,定义一个类的对象时,在C++/C#下是区分大小的,java也一样,我们定义的类为HelloJava,而解释时却为helloJava,自然而然就成了简单的“语法”错误了。

二、 N多个.class文件
    我一口气敲下了N多个Java程序,编译运行还行,就是有点慢,突然想到,在一个没有JDK的机器上这个.class文件如何执行?虚拟机?这是问题一。又试了一个JButton类的使用,例子的组织方式是将Button组织到一个JPanel上。最后一个范例是Event,我没有去试,只是看了看,从WindowsAdapter派生出一个类ExitWindow并重写了windowClosing()事件,然后又建立一个Java文件,从JFrame派生一个ExitFrame的类并使用上次生成的ExitWidnow以响应windowClosing事件。这一个动作又产生了两个.class文件,结果一个稍微大点的Java程序差不多全是由.class文件构成(肯定还有其它的比如资源文件,DLL文件等)。

三、 从C++过来的命名
    Java程序中很多对象的命名采用了“驼峰式”。比如:setVisible、setContentPane等等,我当时在学C++时,也喜欢这种命名规则,时间久了就发觉这样的命名有点不适应,尤其是在.NET下,.NET下命名很是统一,使用一个颜色Color.Red,或者是Refresh等等,对于较长的名称我倒认为.NET下命令更漂亮一些。

四、 没有好的IDE
    我准备学习Java时,下了一个NetBeans,晕,本来机器不好,结果可想而知,慢的要命,感觉不舒服就Uninstall掉了,现在装了个JBuilder 2006,说实话,论IDE环境,没有VS.NET 2003好。

你可能感兴趣的:(java)