`
sunmiracle
  • 浏览: 15169 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SCJP笔记_章十_开发

    博客分类:
  • SCJP
阅读更多
第十章 开发

10.1.1 用javac编译

考试要求掌握的是 javac [options] [source files]

用-d选项编译,可以改变类文件的目标位置.
例如
myProject
      |
      |--source
      |       |
      |       |--com
      |             |
      |             |--javaeye
      |                      |
      |                      |--HelloJava.java
      |                      
      |--classes
      |       |
      |       |--com
      |             |
      |             |--javaeye
      |                      |
      |                      |--(HelloJava.class goes here)

如果你在source目录中编译HelloJava.java,并想将结果文件HelloJava.class放入class/com/javaeye目录,则命令如下:
  javac -d ../classes com/javaeye/HelloJava.java
其中../classes是编译将要开始的位置,这个目录必须是已经存在的,否则会出现编译错误;后面的com/javaeye/目录如果不存在,会自动创建.

10.1.2 用java命令启动应用程序

java [options] class [args]
class文件写.class扩展名
例如: java -DmyProp=myValue HelloJava x 1
意思是:创建名为myProp的系统属性(必须紧跟D,不能有空格),并将其值设置为myValue.然后,启动名为HelloJava.class的文件,并向它发送两个String变元,其值为x和1.

使用系统属性
java.util.Properties类
Properties p = System.getProperties();   //获得系统属性
p.setProperty("key","value");  //添加属性
p.list(System.out)   //打印到系统控制台上

设置属性可以用两种方式:java -DmyProp=myValue,或者p.setProperty("key","value");

处理命令行变元
public static void main(String[] args) ,args就是命令行变元数组.也可以写成String...args

10.1.3 查找其它类

声明并使用类路径
UNIX          -classpath /com/foo/acct : /com/foo 两个目录,以冒号分开
WINDOWS -classpath \com\foo\acct ; \com\foo
-classpath简写为-cp

java和JavaC都是用相同的基本查找算法:

一旦发现所查找的类,就不会再查找这个类。如果包含具有相同名称的两个或多个文件,则会使用找到的第一个文件。
最为命令行选项声明的类路径,回复该作为环境变量声明的类路行,但命令行中的类路径只会在调用期间存在。
查找文件是,默认不查找当前目录。如要查找,则在类路径中添加一个点。

-classpath /com/foo/acct:/com/foo:.最后的点时要求Java或者Javac命令,还需要在当前目录下查找类文件。(此时,我们是在讨论类文件,当你告诉Javac要编译哪个.java文件时,默认情况下,javac会在目录中查找,不用加点)

包与查找
在package和import中使用的路径是绝对路径.

相对路性与绝对路径


10.2 JAR文件
考试目标7.5 给定类的一个完全限定名称,该类在JAR文件的内部和/或外部部署,为该类构造适当的目录结构。给定一个代码示例和一个类路径,确定类路径是否允许代码成功地编译。

10.2.1 JAR文件与查找
创建jar文件:          jar -cf MyJar.jar myApp     将myApp下的所有文件打到MyJar.jar中
查看jar中的文件:    jar -tf MyJar.jar

jar命令会自动创建META-INF目录,并在它里面建立MANIFEST.MF文件.

编译一个jar包中的.java文件:   javac -cp jar包的相对路径 java文件

javac -classpath ws/myApp.jar UseStuff.java
javac -classpath wa UseStuff.java

当使用类路径时,路径中的最后一个目录必须是包的根目录的父目录,这样该目录中所有的类都可以找到。
-classpath可以导入根包下所有的包
Import只能导入根包下所有的类,不能导入子包。Import每次只能导入一个包


在开发和测试的时候,可以将Jar文件放到.../jre/lib/ext目录下,这样就可以通过Java来进行查找,不必在使用的时候再次加入这些包。


10.3.1 静态导入
注意:只能是import static,而不能是static import.   对于有相同常量名,方法名的类型要慎用静态导入,编译器分不清楚你到底想用哪一个.比如Integer类和Long类都执行静态导入。
Java代码
public class TestStatic { 
    public static void main(String[] args) { 
        System.out.println(Integer.MAX_VALUE); 
        System.out.println(Integer.toHexString(42)); 
    } 

 
//使用静态导入之后,变成这样 
import static java.lang.System.out; 
import static java.lang.Integer.*; 
public class TestStatic { 
    public static void main(String[] args) { 
        out.println(MAX_VALUE); 
        out.println(toHexString(42)); 
    } 
分享到:
评论

相关推荐

    SCJP1.4.rar_scjp .p_scjp 310-065 _scjp p_scjp ppt_scjp1

    SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition 1.4)是Oracle公司推出的针对Java 1.4版本的程序员认证考试。这个压缩包文件“SCJP1.4.rar”包含了丰富的学习资源,旨在帮助考生准备并...

    SCJP考题_学习笔记

    2. **学习笔记**: "scjp_amay's notes for 1.4.doc"可能是一位名叫Amay的学习者针对Java 1.4版本的SCJP考试整理的笔记,这个版本可能包含对当时Java语言特性的详细解析,例如原始类型、字符串常量池、异常处理机制等...

    SCJP6.rar_SCJP310-065_SCJP6_scjp 0_scjp 310-0_test scjp

    SCJP(Sun Certified Programmer for the Java SE 6 Platform)是Oracle公司推出的Java程序员认证考试,其旧版编号为310-065。这个压缩包文件“SCJP6.rar”包含了备考SCJP 310-065的重要资源,帮助考生进行全真模拟...

    Scjp笔记 - 帝国程序开发.htm

    Scjp笔记 - 帝国程序开发

    SCJP-sl-275.rar_SL-275_scjp_scjp SL-2_scjp SL-275

    《SCJP认证全面解析——基于SL-275学习指南》 SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Oracle公司(原Sun Microsystems...希望这份资料能帮助你成功地迈向Java开发的专业之路。

    SCJP_Guide.rar_scjp

    这个压缩包"SCJP_Guide.rar_scjp"包含了备考SCJP的关键资料,特别是"SCJP_Guide.pdf",这很可能是官方的学习指南或模拟试题集,对于准备考试的人来说是极其宝贵的资源。 SCJP考试主要涵盖以下几个方面的知识点: 1...

    scjp.rar_scjp_sjcp考试

    SCJP(Sun Certified Programmer for the Java Platform)是Oracle公司(原Sun Microsystems)为Java程序员提供的一项认证考试,现称为Oracle Certified Associate, Java SE 8 Programmer。这个认证主要针对那些希望...

    SCJP_经典题笔记

    通过这些题目,我们可以学习到Java中的类型转换规则、方法的重载和覆盖、异常处理机制以及静态变量的特性,这些都是Java编程基础的重要组成部分,对于通过SCJP认证考试以及日常编程工作都非常有帮助。在实际编程中,...

    scjp笔记 考过scjp的学生的第一手资料 强烈推荐

    SCJP(Sun Certified Programmer for the Java 2 Platform, Standard Edition)是Java开发人员早期认证的一项考试,由Oracle公司接手后更名为OCPJP(Oracle Certified Professional, Java SE Programmer)。...

    SCJP.rar_scjp

    SCJP证书对于那些希望在Java开发领域提升职业竞争力的初学者或专业人士来说非常有价值。 SCJP考试通常包含75到85个选择题,要在1.5小时内完成。通过这个考试,考生需要展示对Java SE(标准版)平台核心概念的深入...

    scjp.rar_scjp

    【标题】"SCJP.rar_SCJP" 指的是Sun Certified Programmer for the Java Platform, Standard Edition (SCJP)的相关学习资料。SCJP是Java程序员的一个基础认证,它验证了开发者对于Java编程语言的核心概念和技能的...

    SCJP复习笔记分享

    ### SCJP复习笔记知识点解析 #### 一、八进制与十六进制表示法 - **八进制**: 在Java中,八进制数是以数字`0`开头的数(而不是字母`o`)。例如,`010`表示的是八进制数,其对应的十进制值为`8`。 - **十六进制**: ...

    scjp.zip_Test java developer_scjd_scjp

     对于Java程序设计员,Sun推出两项认证:Sun Certificated Java Programmer (SCJP)和Sun Certificated Java Developer(SCJD)。  SCJP 可以说各种Java认证的基础,相对于SCJD来说,SCJP跟侧重于测验您的Java程序...

    j-scjp.zip_scjp

    5. **复习笔记**:可能还包括一些复习笔记或总结,这些都是关键知识点的提炼,便于快速回顾和记忆。 6. **术语表**:Java编程涉及许多专业术语,一份详细的术语表可以帮助你准确理解这些概念。 7. **学习指南**:...

Global site tag (gtag.js) - Google Analytics