Java ---包

包是Java语言管理类的一种机制,用于区分同名类。package语句用于指定类所在的包,通常源文件的第一个语句。不需要导包的情况包括在同一包内和使用java.lang包的类。有包名的类需按特定目录结构存放,主类运行需在其包的上一层目录执行。使用-javac-d参数可指定字节码文件的生成目录。
摘要由CSDN通过智能技术生成

  (1)定义     

       包是Java语言有效地管理类的一个机制。在不同Java源文件中可能出现名字相同的类,如果用户想区分这些类,就需要使用包名。使用包名可以有效地区分名字相同的类,当不同Java源文件中的两个类的名字相同时,它们可以通过隶属于不同的包来相互区分。

      包就是文件夹,用来管理各种不同功能的Java类。

(2) 包语句

什么时候需要导包呢?什么时候不需要导包呢?

  • 不需要导包:使用同一个包中的类,不需要导包; 使用java.lang包中的类时,不需要导包;

  • 需要导包:其他情况都需要导包
  •  如果同时使用两个包中的同名类,需要全类名。


      通过关键字package 声明包语句。package语句作为Java源文件中的第一个语句,指明该源文件定义的类所在的包,即为该源文件中声明的类指定包名。

   package语句的一般格式为:package  包名;


       在源程序中最多有一个包语句,如果源程序中省略了package语句,源文件中所定义、命名的类将被隐含地认为是无名包的一部分,只要这些类的字节码被存放在相同的目录中,那么它们就属于同一个包,但没有包名。
       包名可以是一个合法的标识符,也可以是若干个标识符加“.”分隔而成。

例如:package ChenChen或package com.sxt;


(3)有包名的类的存储目录


      如果一个类有包名,那么就不能在任意位置存放,否则虚拟机将无法加载这样的类。
      如果程序使用了包语句,例如:package com.sxt;


那么在存储文件的目录中必须包含结构“…\com\sxt”,例如“C:\Users\52733\Desktop\Java\src\com\sxt”,并且要将源文件编译得到的类的字节码文件保存在目录“C:\Users\52733\Desktop\Java\src\com\sxt”中(源文件可以任意存放)。
当然,可以将源文件保存在“C:\Users\52733\Desktop\Java\src\com\sxt”中,然后进入“com\sxt”的上一层目录src中编译源文件:
 
那么得到的字节码文件默认保存在当前目录“C:\Users\52733\Desktop\Java\src\com\sxt”中。

(4)运行有包名的主类


        如果主类的包名是com.sxt,那么主类的字节码文件一定存放在“…\com\sxt”目录中,则必须到“com\sxt”的上一层目录(即com的父目录)中去运行主类。上图“已知com\sxt”的上一层目录(即com的父目录)是src ,那么必须用如下格式(运行时必须写主类的全名)来运行:

C:\Users\52733\Desktop\Java\src\com\sxt\GreekAlphabet.java

java语言不允许用户程序使用java作为包名的第一部分,如java.bird是非法的。 

(5)使用参数“-d”编译源文件 

作用:

    ①javac可以使用参数“-d”编译源文件指定生成的字符码文件所在目录。如果不使用参数“-d”,javac就在当前目录生成字节码文件。

②如果源文件没有包名,使用参数“-d”可以将字节码文件存放到指定的有效目录中,如

javac -d C:\Users\52733\Desktop\Java\src MyFile.java 表示  将源文件MyFile.java生成的全部字节码文件存放到:C:\Users\52733\Desktop\Java\src中。

③如果源文件使用了包名。使用参数“-d”时要格外注意。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘 关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值