科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道初学者入门:类的载入以及类是如何工作的

初学者入门:类的载入以及类是如何工作的

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

初学者入门:类的载入以及类是如何工作的

作者:baocl 来源:赛迪网技术社区 2007年11月10日

关键字: 类的载入

  • 评论
  • 分享微博
  • 分享邮件
由于很多java初学者都对classpath和path的概念模糊,我阅读了众多书籍,相关书籍有<<java编程基础>>,<<java2技术内幕>>,<<Cisco Networking Academy Program Fundamentals of Java Programming>>希望对他们有帮助!!
  到目前为止,我们在实验室中创建的类都放在一个指定的目录下.实验指定了一个工作目录,这个目录叫做确省目录.我们创建的源文件存储在这个目录下,生成的类文件也存储在这个目录下,你在这个确省的包中工作!
  当一个源代码文件编写完后,我们通常叫他一个编译单元,每个源代码文件或编译代码的文件名都必须以.java文件名为后缀.在这个编译单元中,只能有一个public 的类的定义,但可以有一个或多个的非public类定义.当你编译源文件时,源文件的每个类都会产生一个相应的类文件(以class为后缀),java编译器和解释器负责查找,载入和解释这些类文件.
  要理解类定位的概念,你必须理解一些path 和classpath的相关重要的概念.所有的操作系统都利用变量来存储目录名,而这些目录正是用户试图载入或启动程序的时候需要查找的地方!在java运行环境中,有两个变量会影响到类文件和和JDK程序的访问,这就是path和classpath.
  术语"路径"用来表示程序查找一个文件的位置时所用到的一系列的指定的目录!比如说,在windows系统中,java编译器和java解释器的程序文件分别为javax.exe和java.exe.这两个文件通常存储在你的jdk的bin目录下,对于某些特定的平台,path变量是一个操作系统的变量,它所包含的路径指向众多的可执行文件所存在的目录.计算机上面的操作系统通过这些路径来查找需要运行的可执行文件.
  比如说,要保证操作系统能找到javac.exe和java.exe,这两个文件都在你的jdk\bin目录下,就需要添加到path 变量中去.java编译器和解释器使得变量classpath 来定位类和包.classpath变量可以获得很多条包含包的目录路径.jdk目录结构包含一些被自动来查找类的子目录,这些就是所谓的标准目录,而且这些目录就不需要定义在classpath变量中.你可以把类文件保存在这些目录中的一个,例如,jdk1.3\jre\classes就是一个能自动找到的标准目录.其中 classes是我自己新建的目录!你可以把自己的类文件放到这!
   但我建议不这样做,类文件应该通过程序员创建的目录结构来管理.
   由于创建的类大多数情况下总是存储在相互分开的目录中,classpath变量必须包含到达这些目录的路径.命令 CLASSPATH=d\javacourse\lab在操作系统级别为classpath变量赋值.
   载入类的时候,需要查找的额是确省目录和显示定义的包的目录.他的执行顺序为:
 1,在标准目录下查找文件;
 2,在当前的工作目录下查找所有的文件.在大多数的操作系统中,(.)符号表示当前的工作目录.有些书中有介绍!
 3,使用classpath变量定义的目录路径来查找文件,程序员必须在classpath变量中显示的指定他们将要查找的目录路径.
 4,在类的包声明语句所声明的包中查找文件,只在classpath变量所指定的目录下查找这些包.

   
补充:
   1,标准类有java.lang包,你部需要特别的指定这个包的位置;
   2,在当前目录(确省目录)下查找,注意是确省目录,他会在确省目录中查找所有文件的第一个!
   3,显示查找包的声明,简单的说就是我们在java语言中用import所引入的类或者说我们在classpath中用(.)所表示的当前的类.
   4,对编译器带有-classpath选项的调用提供了一个指向确省目录的类路径!
   同时也可以用-cp选项来声明一个指定的classpath以供解释器使用!!
   例如:javac -classpath.huiwu917.java
java -cp.huiwu917
注意使用编译器和-classpath选项以及-cp选项时,classpath变量可以被覆盖掉!!查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    闂傚倸鍊搁崐椋庢閿熺姴鐭楅幖娣妼缁愭鏌¢崶鈺佷汗闁哄閰i弻鏇$疀鐎n亞浠炬繝娈垮灠閵堟悂寮婚弴锛勭杸閻庯綆浜栭崑鎾诲冀椤撱劎绋忛梺璺ㄥ櫐閹凤拷

    濠电姷鏁告慨鐑姐€傛禒瀣劦妞ゆ巻鍋撻柛鐔锋健閸┾偓妞ゆ巻鍋撶紓宥咃躬楠炲啫螣鐠囪尙绐為梺褰掑亰閸撴盯鎮惧ú顏呪拺闂傚牊鍗曢崼銉ョ柧婵犲﹤瀚崣蹇旂節婵犲倻澧涢柛瀣ㄥ妽閵囧嫰寮介妸褋鈧帡鏌熼挊澶婃殻闁哄瞼鍠栭幃婊堝煛閸屾稓褰嬮柣搴ゎ潐濞叉ê鐣濈粙璺ㄦ殾闁割偅娲栭悡娑㈡煕鐏炲墽鐭嬫繛鍫熸倐濮婄粯鎷呯粵瀣異闂佹悶鍔嬮崡鍐茬暦閵忋倕鍐€妞ゆ劑鍎卞皬闂備焦瀵х粙鎴犫偓姘煎弮瀹曚即宕卞Ο闀愮盎闂侀潧鐗嗛幊搴㈡叏椤掆偓閳规垿鍩ラ崱妞剧凹濠电姰鍨洪敋閾荤偞淇婇妶鍛櫤闁稿鍊圭换娑㈠幢濡纰嶉柣搴㈣壘椤︾敻寮诲鍫闂佸憡鎸鹃崰搴敋閿濆鏁嗗〒姘功閻绻涢幘鏉戠劰闁稿鎹囬弻锝呪槈濞嗘劕纾抽梺鍝勬湰缁嬫垿鍩為幋锕€宸濇い鏇炴噺閳诲﹦绱撻崒娆戝妽妞ゃ劌鎳橀幆宀勫磼閻愰潧绁﹂柟鍏肩暘閸斿矂鎮為崹顐犱簻闁圭儤鍨甸鈺呮倵濮橆剦妲归柕鍥у瀵粙濡歌閸c儳绱撴担绛嬪殭婵☆偅绻堝濠氭偄绾拌鲸鏅i悷婊冪Ч閹﹢鎳犻鍌滐紲闁哄鐗勯崝搴g不閻愮儤鐓涢悘鐐跺Г閸犳﹢鏌℃担鐟板鐎规洜鍠栭、姗€鎮╅搹顐ら拻闂傚倷娴囧畷鍨叏閹惰姤鈷旂€广儱顦崹鍌炴煢濡尨绱氶柨婵嗩槸缁€瀣亜閺嶃劎鈽夋繛鍫熺矒濮婅櫣娑甸崨顔俱€愬銈庡亝濞茬喖宕洪埀顒併亜閹哄棗浜鹃梺鎸庢穿婵″洤危閹版澘绫嶉柛顐g箘椤撴椽姊虹紒妯哄鐎殿噮鍓欒灃闁告侗鍠氶崢鎼佹⒑閸撴彃浜介柛瀣閹﹢鏁冮崒娑氬幈闁诲函缍嗛崑鍡樻櫠椤掑倻纾奸柛灞剧☉缁椦囨煙閻熸澘顏柟鐓庢贡閹叉挳宕熼棃娑欐珡闂傚倸鍊风粈渚€骞栭銈傚亾濮樺崬鍘寸€规洖缍婇弻鍡楊吋閸涱垽绱遍柣搴$畭閸庨亶藝娴兼潙纾跨€广儱顦伴悡鏇㈡煛閸ャ儱濡煎褜鍨伴湁闁绘ǹ绉鍫熺畳闂備焦瀵х换鍌毼涘Δ鍛厺闁哄洢鍨洪悡鍐喐濠婂牆绀堟慨妯挎硾閽冪喖鏌曟繛褍瀚烽崑銊╂⒑缂佹ê濮囨い鏇ㄥ弮閸┿垽寮撮姀鈥斥偓鐢告煥濠靛棗鈧懓鈻嶉崶銊d簻闊洦绋愰幉楣冩煛鐏炵偓绀嬬€规洟浜堕、姗€鎮㈡總澶夌处

    重磅专题
    往期文章
    最新文章