Javaのパッケージの理解
2402 ワード
システムを作成し、プロジェクトのフォルダにシステム全体を配置する実験をします.
例えば、d:ディレクトリの下にプロジェクトのディレクトリを構築します.この場合、私たちのシステムに比べて、私たちのシステムは大きなパッケージと見なすことができます.パッケージの意味はクラスライブラリの意味、つまりトップパッケージの意味を知っています.このトップパッケージはプロジェクトのディレクトリの下にあります.d:projectはシステムのルートディレクトリです.これは重要です.明確にしなければなりません.Javacでコンパイルする場合、-classpathを使用する場合、相対的にこのディレクトリであるため、-classpathの後ろに続くファイルまたはディレクトリはトップパッケージの下にあります.
(環境変数のclasspathのクラスもトップパッケージの下にある)
実験開始:
プロジェクトディレクトリの下にjavaファイルを作成します.
このjavaファイルの名前はM.javaです.
解析:javaでclassを見つけるには、そのcalssのすべての限定名を与える必要があります.限定名はパッケージ名+クラス名です.上のpackageの役割はクラスブロック,すなわちクラスMとクラスGをcomに分類するものと見なすことができる.abc.zyjブロックは、もちろん実際には、プロジェクトシステムの必要に応じて区分することができます.したがってクラスMの完全限定名はcomである.abc.zyj.M.
コンパイルを開始します.
コマンドライン:
javac -d . M.java
上の文は、現在のディレクトリの下でjavaファイルをコンパイルします.
このディレクトリを見ると、コンパイラはそのディレクトリの下にcomディレクトリを生成し、comディレクトリの下にabcディレクトリがあり、abcディレクトリにはzyjディレクトリがあり、zyjディレクトリの下にはM.classとG.classの2つのclassファイルが含まれていることがわかります.
上の文に注意してください.-d.これは少なくできません.少なくなると、コンパイルによって生成されたclassファイルは現在のディレクトリにのみ表示され、ディレクトリ構造は生成されません.
Javaでのパッケージはディレクトリ構造に従って操作されるので、上記は分かりやすいはずです.
この2つのclassファイルの圧縮パッケージを開始します.
コマンドラインウィンドウでプロジェクトディレクトリの下に移動
コマンドライン:
jar cvf zyj.jar com
すなわち、プロジェクトディレクトリの下にzyjを生成する.JArのパッケージ
上のコマンドラインのコマンドの意味はcomフォルダを圧縮することと理解できます.winrarでファイルを表示すると、com/abc/zyjのような構造が見えます.
今かばんが完成しましたが、どうやってかばんを引用しましたか?これはclasspathの意味を理解し、classpathがトップバッグの下で探していることを覚えておく必要があります.
実験を続行:
プロジェクトディレクトリの下にjavaファイルを作成します.内容は次のとおりです.
上記の文のimportの役割はjavaコンパイラにクラスを検索する方法を教えることです.jar自体は圧縮ファイルであり、ファイル内部にcom/abc/zyj構造が含まれているため、ルートディレクトリの下にcom/abc/zyjなどのディレクトリ構造があることに相当します.ここでは、まずルートレコードからcomディレクトリを検索し、comディレクトリの下でabcディレクトリを検索することに相当します.次にabcディレクトリでzyjディレクトリを検索し、最後にzyjディレクトリの下でMというクラスを検索する、すなわちcom.abc.zyj.Mという順番で探した
ここではclasspathという意味と,パッケージ内の構造区分がディレクトリ構造によって区分されていることを明確にする.
上のクラスをコンパイルするコマンドラインコマンドは次のとおりです.
javac -cp zyj.jar Hello.java
注意パケットを導くときは必ずアルファベットの大文字と小文字に注意してください.jarファイル内のディレクトリ構造のアルファベットのサイズを確認することができます.これにより、パケットを導くときにエラーが発生しません.
例えば、d:ディレクトリの下にプロジェクトのディレクトリを構築します.この場合、私たちのシステムに比べて、私たちのシステムは大きなパッケージと見なすことができます.パッケージの意味はクラスライブラリの意味、つまりトップパッケージの意味を知っています.このトップパッケージはプロジェクトのディレクトリの下にあります.d:projectはシステムのルートディレクトリです.これは重要です.明確にしなければなりません.Javacでコンパイルする場合、-classpathを使用する場合、相対的にこのディレクトリであるため、-classpathの後ろに続くファイルまたはディレクトリはトップパッケージの下にあります.
(環境変数のclasspathのクラスもトップパッケージの下にある)
実験開始:
プロジェクトディレクトリの下にjavaファイルを作成します.
package com.abc.zyj;
public class M
{}
class G
{}
このjavaファイルの名前はM.javaです.
解析:javaでclassを見つけるには、そのcalssのすべての限定名を与える必要があります.限定名はパッケージ名+クラス名です.上のpackageの役割はクラスブロック,すなわちクラスMとクラスGをcomに分類するものと見なすことができる.abc.zyjブロックは、もちろん実際には、プロジェクトシステムの必要に応じて区分することができます.したがってクラスMの完全限定名はcomである.abc.zyj.M.
コンパイルを開始します.
コマンドライン:
javac -d . M.java
上の文は、現在のディレクトリの下でjavaファイルをコンパイルします.
このディレクトリを見ると、コンパイラはそのディレクトリの下にcomディレクトリを生成し、comディレクトリの下にabcディレクトリがあり、abcディレクトリにはzyjディレクトリがあり、zyjディレクトリの下にはM.classとG.classの2つのclassファイルが含まれていることがわかります.
上の文に注意してください.-d.これは少なくできません.少なくなると、コンパイルによって生成されたclassファイルは現在のディレクトリにのみ表示され、ディレクトリ構造は生成されません.
Javaでのパッケージはディレクトリ構造に従って操作されるので、上記は分かりやすいはずです.
この2つのclassファイルの圧縮パッケージを開始します.
コマンドラインウィンドウでプロジェクトディレクトリの下に移動
コマンドライン:
jar cvf zyj.jar com
すなわち、プロジェクトディレクトリの下にzyjを生成する.JArのパッケージ
上のコマンドラインのコマンドの意味はcomフォルダを圧縮することと理解できます.winrarでファイルを表示すると、com/abc/zyjのような構造が見えます.
今かばんが完成しましたが、どうやってかばんを引用しましたか?これはclasspathの意味を理解し、classpathがトップバッグの下で探していることを覚えておく必要があります.
実験を続行:
プロジェクトディレクトリの下にjavaファイルを作成します.内容は次のとおりです.
import com.abc.zyj.M;
public class Hello
{
public static void main(String args)
{
M a=new M();
System.out.println(a.toString());
}
}
上記の文のimportの役割はjavaコンパイラにクラスを検索する方法を教えることです.jar自体は圧縮ファイルであり、ファイル内部にcom/abc/zyj構造が含まれているため、ルートディレクトリの下にcom/abc/zyjなどのディレクトリ構造があることに相当します.ここでは、まずルートレコードからcomディレクトリを検索し、comディレクトリの下でabcディレクトリを検索することに相当します.次にabcディレクトリでzyjディレクトリを検索し、最後にzyjディレクトリの下でMというクラスを検索する、すなわちcom.abc.zyj.Mという順番で探した
ここではclasspathという意味と,パッケージ内の構造区分がディレクトリ構造によって区分されていることを明確にする.
上のクラスをコンパイルするコマンドラインコマンドは次のとおりです.
javac -cp zyj.jar Hello.java
注意パケットを導くときは必ずアルファベットの大文字と小文字に注意してください.jarファイル内のディレクトリ構造のアルファベットのサイズを確認することができます.これにより、パケットを導くときにエラーが発生しません.