网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月28日漏签0天
东方编程学习馆吧 关注:6,461贴子:18,431
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 5回复贴,共1页
<<返回东方编程学...吧
>0< 加载中...

JAVA言语入门31-パッケージ

  • 只看楼主
  • 收藏

  • 回复
  • 雾雨魔理沙㊣
  • 赫赫有名
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
『クラスグループ』
パッケージとは、その名のとおりです
一連のクラスやインターフェイス郡をひとつのパッケージとして扱います
パッケージは関連するクラスファイル郡を表します。それはディレクトリまたはライブラリを指します
パッケージは、集団によるJavaプログラムのプロジェクトや、巨大なシステムの作成時に欠かせません
これまでのサンプルプログラムは、ほんの一例に過ぎない短いプログラムでしたが
実用性に耐えるプログラムであれば、当然クラスやインターフェイスも効率よく拡張しなくてはいけません
すでに気づいていると思いますが
Javaはクラスごと、インターフェイスごとにバイトコードを生成しています
パッケージはクラスやインターフェイスのアクセス権などを左右する重要な機能です
パッケージを割り当てるにはpackageステートメントを使用します
ただし、packageステートメントはコメントを除いてファイルの先頭に記述されていなくてはいけません



  • 雾雨魔理沙㊣
  • 赫赫有名
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package packName;
packNameにはパッケージ名を指定できます
packageステートメントはひとつのファイルに最大ひとつまでしか宣言できません
また、ファイルは必ずパッケージ名と同じディレクトリ下に存在していなければなりません
packageを指定しなかった場合は、Java既定のパッケージに割り当てられます
私たちがこれまで記述したきたのはこの方法ですね
別クラスへ名前だけでアクセスできるのは同じパッケージ内のクラスだけです
これまで、クラスのインスタンスの作成や静的メンバへのアクセスは
直接、その名前を指定するだけで問題なくアクセスすることができました
別のパッケージからあるクラスへアクセスするには、パッケージ名を指定し
かつ、そのクラスとメンバが他のパッケージからのアクセスを許可していなければなりません
別クラスへのアクセスは、後ほど紹介するとして
この場では、自作クラス郡を同じパッケージとして作成してアクセスを試みます
このとき、*.javaファイルは別々に作成してコンパイルしてください



2025-06-28 22:51:08
广告
  • 雾雨魔理沙㊣
  • 赫赫有名
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


これら二つのファイルを用意します
package名は必ず同じにし、pakディレクトリに格納します
pakディレクトリのひとつ上のディレクトリ(親ディレクトリ)をカレントディレクトリにして
Windowsプラットフォームならばコマンドラインで次のようなコマンドを打ちます
javac pak\*.java
これで、pakディレクトリのjava拡張子のファイルがコンパイルされます
単体ではなく、パッケージごとコンパイルする必要があります
実行する時も、やはりパッケージを指定する必要があります
pakディレクトリの親ディレクトリから、次のコマンドを指定してください
java pak.test
既定パッケージ以外のパッケージクラスを実行させる場合
パッケージ名とクラス名を指定します
このような、フルネームのクラス名を完全限定名と呼びます
パッケージはディレクトリ構造同様に構造化できます
段階構造化したパッケージを指定するには、ドット演算子で区切ります



  • 雾雨魔理沙㊣
  • 赫赫有名
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package packName1.packName2.packNameN...
packNameはパッケージ名です
当然クラスファイルは、それに相当した場所においておく必要があります
なぜこのような技術が必要かというと、Java言語は全てのクラスが独立したクラスです
そのため、myClass というクラスは、どこの誰が作ったmyClassなのかわからない
そこで、myClassにさらに名前をつけるのがパッケージなのです
たとえば、あなたには手紙などの郵便物が届きますよね
なぜ、郵便物が正確にあなたに届くのか考えてみましょう
あなたには名前があります。しかし、あなたと同じ名前の人は沢山います(全国探せば)
さらにあなたを識別するために名字があります
でも、名字と名前をあわせても、全国にはやはり同姓同名の人がいます
さらにその上には、あなたの住所が書いてあります
中央区 ○○さんへ だけでは届きません。北海道札幌市中央区…というように指定されています
そう、あなたは 国.県.市町村.番地.名前 というようにパッケージ化されているのです



  • 雾雨魔理沙㊣
  • 赫赫有名
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
その気になれば、国の上にも大陸名、星名、銀河名というように、パッケージかできます(笑)
Javaのパッケージも考え方はこれと同じです
あなたが作ったクラスに、正式な住所を指定するこで不要な衝突を防ぎます
package pak;
class test {...
この場合、testクラスはpackageでフルネームが与えられることになります
testクラスのフルネームは pak.test です
だから、さきほどコマンドラインで呼び出す時にパッケージ名も指定していたのです
Java 仮想マシンは、コマンドを与えられるとカレントディレクトリのクラスを検索します
完全限定名であれば、カレントディレクトリ下の与えられたパッケージコードのディレクトリを検索します
それでもクラスが無い場合は、Javaのクラスライブラリを検索します
ですが、場合によってはこちらが指定したあるディレクトリを自動検索してほしい場合があります
Javaクラスライブラリやカレントディレクトリ以外の、特定の場所にクラスなどを保存している時などです
そのような場合は、あなたが使っているプラットフォームの方法で CLASSPATH 環境変数を設定してください


  • 雾雨魔理沙㊣
  • 赫赫有名
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
『package』
ファイル内のコードが所属するパッケージ名を指定します
同じパッケージ内であれば直接名前を指定するだけでアクセスできますが
他のパッケージからは、パッケージ名も指定しなければアクセスできません


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回东方编程学...吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示