《Java 开发从入门到精通》—— 2.5 技术解惑

    xiaoxiao2024-04-23  73

    本节书摘来异步社区《Java 开发从入门到精通》一书中的第2章,第2.5节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    2.5 技术解惑

    2.5.1 遵循源文件命名规则

    Java中的命名规则有很多,例如变量命名规则和类命名规则等,而在此讲解的是Java源文件的命名规则。在编写Java程序时,源文件名字不能随便起,需要遵循下面的两个规则。

    Java源文件的后缀必须是“.java”,不能是其他文件后缀名。一般来说,可以任意命名Java源文件的名字,但是当Java程序代码中定义了一个public类时,该源文件的主文件名必须与该public类(也就是该类定义使用了public关键字修饰)的类名相同。由此而可以得出一个结论:因为Java程序源文件的文件名必须与public类的类名相同,所以一个Java源文件里最多只能定义一个public类。根据上述规则,我们可以得出命名程序文件的如下3个建议。

    一个Java源文件只定义一个类,不同的类使用不同的源文件定义。将每个源文件中单独定义的类都定义成public。保持Java源文件的主文件名与该源文件中定义的public类同名。2.5.2 忽视系统文件的扩展名有很多初学者经常犯一个错误,即在保存一个Java文件时经常保存成形如“.java.txt”格式的文件名,因为这种格式文件名从表面看起来太像是“.java”了,所以经常会引发错误。要想解决这个粗心的错误,我们可以修改Windows的默认设置。因为Windows系统的默认设置是“隐藏已知文件类型的扩展名”,所以我们只需将此设置选项取消勾选即可,如图2-46所示。

    2.5.3 环境变量的问题

    Java的JDK经过了几年的发展,已经发展到了现在的JDK-7系列,即JDK1.7。新的JDK更加成熟,速度也更快。但是往往程序员总是难以忘记以前版本的一些特点和用法,经常会不自觉地在新版本中按照旧版本的方式进行操作。例如最常见的就是环境变量问题,本章2.1.2节中已经介绍了设置环境变量的问题。其实对于开发纯Java项目来说,如果使用的是JDK1.5以上的版本,则完全不用画蛇添足般地设置环境变量。

    设置CLASSPATH环境变量会比较麻烦,在设置CLASSPATH环境变量后,Java解释器会在当前路径搜索Java类,例如在first.class文件所在路径运行java first将没有任何问题。但如果设置了CLASSPATH环境变量,Java解释器会只在CLASSPATH环境变量所指定的系列路径中搜索Java类,这样就容易出现问题了。

    在当今很多教科书和资料中,都提到过在CLASSPATH中添加dt.jar和tools.jar这两个文件的教程,所以很多初学者会将CLASSPATH变量的值设置为如下形式。

    D:\Java\jdkl.6.0_03\lib\dt.jar;D:\Java\jdkl.7.0_01\lib\tools.jar这样做会导致Java解释器不在当前路径下搜索Java类,此时如果在文件first.class所在路径运行java first会出现如图2-47所示的错误提示。

    造成上述错误的原因是找不到类定义,这是由于CLASSPATH环境变量设置不正确造成的。所以在此建议广大读者,在设置CLASSPATH环境变量时一定不要忘记在CLASSPATH环境变量中增加一点“.”,强制Java解释器在当前路径搜索Java类。

    2.5.4 大小写的问题

    Java语言是严格区分大小写的语言,但是很多初学者对大小写问题往往都不够重视。例如有的读者编写的Java程序里的类是“first”,但当他运行Java程序时运行的是“java First”的形式。所以在此因此提醒读者必须注意,在Java程序中的First和first是不同的,必须严格注意Java程序中大小写的问题。在此建议广大读者,在按照书中实例程序编写Java代码时,必须严格注意Java程序中每个单词的大小写,不要随意编写,例如class和Class是不同的两个词,class是正确的,但如果写成Class则程序无法编译通过。这是因为Java程序里的关键字全部是小写的,无须大写任何字母。

    2.5.5 main()方法的问题

    如果需要用Java解释器直接运行一个Java类,则这个Java类必须包含main()方法。在Java中必须使用public和static来修饰main(),并且必须使用void来声明该方法的返回值,而且该方法的形参只能是一个字符串数组,而不能是其他形式的参数。对于这个main()方法来说,修饰它的修饰符public和static的位置可以互换,但其他部分则是固定的。

    在定义main()方法时也需要注意大小写的问题,如果不小心把方法名的首字母写成了大写,编译时不会出现任何问题,但运行该程序时将引发错误。

    2.5.6 注意空格问题

    空格问题是初学者很容易犯的一个错误,在Windows系统中的很多路径都包含有空格,例如C盘中的“Program Files”,而这个文件夹恰好是JDK的默认安装路径。如果在CLASSPATH环境变量中包含的路径中含有空格,则可能会引发错误。所以推荐大家在安装JDK和Java相关程序/工具时,不要安装在包含空格的路径里,否则可能引发错误。

    2.5.7 到底用不用IDE工具

    笔者对初学者的建议是:在初期尽量不要使用IDE工具,但是现在一个追求速成的年代,大多数人都希望用最快的速度掌握Java技术。其实市面中的IDE工具居多,除了Eclipse、Jbuilde和NetBeans之外,还有IBM提供的WSAD、JetBrains提供的IntelliJ IDEA、IBM提供的VisualAge、Oracle提供的JDeveloper、Symantec提供的Visual Cafe以及BEA提供的WorkShop,每个IDE都各有特色,各有优势。如果从工具学起,势必造成对工具的依赖,当换用其他IDE工具时会变得极为困难。而如果从Java语言本身学起,把Java语法和基本应用熟记于心,到那时再使用IDE工具才会得心用手。

    在我们日常使用的Windows平台上可以选择记事本来编码,如果嫌Windows下记事本的颜色太单调,可以选择使用EditPlus或UltraEdit工具。

    如果实在要用IDE工具,例如Eclipse,则建议纯粹将它作为一款编辑器来用,将所有代码靠自己一个个字符敲打并输入来完成,而不是靠里面的帮助文档和操作菜单来完成编码工作。

    2.5.8 区分JRE和JDK

    对于很多初学者来说,对JDK和JRE两者比较迷糊,不知道到底有什么异同。

    JRE:表示Java运行时环境,全称是Java Runtime Environment,是运行Java程序的必需条件。JDK:表示Java标准版开发包,全称是Java SE Development Kit,是Sun提供的一套用于开发Java应用程序的开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。Sun把Java分为Java SE、Java EE和Java ME三部分,而且为Java SE和Java EE分别提供了JDK和Java EE SDK (Software Development Kit)两个开发包。如果读者只学习Java SE的编程知识,可以下载标准的JDK,如果学完Java SE之后还需要继续Java EE相关内容,也可以选择下载Java EE SDK。因为有一个Java EE SDK版本里已经包含了最新版的JDK,所以在安装的Java EE SDK中已经包含了JDK。

    一般来说,如果我们只是要运行Java程序,可以只安装JRE,而无须安装JDK。但是如果要开发Java程序,则应该安装JDK。安装JDK之后就包含JRE了,也可以运行Java程序。但如果只是需要运行Java程序,而不是开发Java程序,则只需在计算机上安装JRE即可。

    本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

    相关资源:Java Web编程宝典-十年典藏版.pdf part1(共2个)
    最新回复(0)