精华内容
下载资源
问答
  • Java包机制

    千次阅读 2021-09-16 09:25:37
    为了更好地组织类,Java 提供了包(package)机制。包机制的作用是为了方便程序的管理。 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用 如同文件夹一样,包也采用了树形目录的存储方式。同一个...

    Package

    为了更好地组织类,Java 提供了包(package)机制。包机制的作用是为了方便程序的管理。

    1. 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用
    2. 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
    3. 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

    包语法的语法格式为:

    package pkg1[.pkg2[.pkg3...]];

    包名编写规范

    一般利用公司域名倒置作为包名,如com.baidu.www

    如下一个标准的包的形式,这样www、wenku、baike的内容就可以分别写入到不同的包中,非常方便分类管理

    为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import”语句可完成此功能

    import package1[.package2...].(classname);
    展开全文
  • java包机制

    2020-08-19 18:48:26
    关于java语言当中的包机制: 1、包又称为package, java中 引入package这种语法机制主要是为了方便程序的管理。 不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护。 2、怎么定义...

    关于java语言当中的包机制:
    1、包又称为package, java中 引入package这种语法机制主要是为了方便程序的管理。
    不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护。
    2、怎么定义package呢?
    在java源程序的第一行 .上编写package语句。
    package只能编写-一个语句。
    语法结构:
    package包名;
    3、包名的命名规范:
    公司域名倒序+项目名oa +模块名+功能名;
    采用这种方式重名的几率较低。因为公司域名具有全球唯一性。
    com. bjpowernode.oa.user.service;
    org. apache. tomcat.core;
    4、包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则。
    5、一个包对应-一个目录。
    6、使用了package机制之后,应该怎么编译?怎么运行呢?
    -使用了package机制之后,类名不再是Test01了,类名是: com. bjpowernode . javase . day11. Test01
    一编译: javac java源文件路径( 在硬盘上生成一-个class文件: Test01 . class)
    -手动方式创建目录,将Test01 . class字节码文件放到指定的目录下
    运行: java com . bjpowernode. javase . day11. Test01
    另一种方式(编译+运行): 
    *编译:
    javac -d编译之后存放路径java源文件的路径
    *例如:将F:\Hello. java文件编译之后放到c:\目录下
    javac -d C:\ F: \Hello. java
    * javac -d。*.java
    将当前路径中*. java编译之后存放到当前目录下。
    *运行: JVM的类加载器ClassLoader默认从当前路径下加载。
    关于java语言当中的包机制:
    1.包又称为package, java中 引入package这种语法机制主要是为了方便程序的管理。
    不同功能的类被分门别类放到不同的软件包当中,查找比较方便,管理比较方便,易维护。
    2、怎么定义package呢?
    在java源程序的第一行 上编写package语句.
    package只能编写- - 个语句。
    语法结构:
    package包名;
    3、包名的命名规范:
    公司域名倒序
    项目名oa+模块名user+功能名service;
    采用这种方式重名的几率较低。因为公司域名具有全球唯一性 。
    例如:
    com. bjpowe rnode . oa. user . service;
    org. apache. tomcat. core ;
    4、包名要求全部小写,包名也是标识符,必须遵守标识符的命名规则。
    5、一个包将来对应的是一个目录。
    6、使用了package机制之后,应该怎么编译?怎么运行呢?
    -使用了package机制之后, 类名不再是Test01了,类名是: com . bjpowernode. javase . day11. Test01
    编译: javac java源文件路径(在 硬盘上生成一个class文件: Test01 . class )
    手动方式创建目录,将Test01.class字 节码文件放到指定的目录下
    运行: java com. bjpowernode. javase . day11. Test01
    -另种方式(编译+运行):
    *编译:
    javac-d编译之后存放路径java源文件的路径
    *例如:将F:\He1lo. java文件编译之后放到c:\目录下
    javac -d C:\ F:\Hello. java
    * javac -d。*.java
    将当前路径中* . java编译之后存放到当前目录下。
    *运行: JVM的类加载器ClassLoader默认从当前路径下加载。
    保证DOS命令窗口的路径先切换到com所在的路径,执行:
    java com . bjpowe rnode. javase. day11. Test01
    import语句用来完成导入其它类,同一一个包下的类不需要导入,
    不在同一一个包下需要手动导入。
    import语法格式:
    import类名:
    import包名.为:
    什么时候需要import?
    *不是java. lang包下,并且不在同一一个包下的时候,需要使用import进行引入。
     

    展开全文
  • Java 包机制

    2018-08-28 19:14:36
    Java 包机制本质上是提供了一种命名机制。   包的好处: 方便类型的查找与使用 避免命名冲突 控制访问   可以装入包的类型为: class、interface、annotation、enumeration   将类型装入包时,最好根据...

    包机制

    Java 包机制本质上是提供了一种命名机制。

     

    包的好处:

    方便类型的查找与使用

    避免命名冲突

    控制访问

     

    可以装入包的类型为:

    class、interface、annotation、enumeration

     

    将类型装入包时,最好根据功能进行装包。

    eg:有关读写的类型装入java.io包内。

     

     

    创建包

    将类型放入包中

    package graphics;
    public abstract class Graphics{
    }

    note:将Graphics放入graphics包中。

    ps:在需要放入包中的文件之中,最初的代码便是此代码。

     

    当一个文件中同时定义了多个类时,只能有一个类为public,并且这个类的类名与文件名相同。其他的非public类,无法从package外进行访问。

     

    如果一个类型文件中没有使用package文件,那么这个类位于未命名的默认包中。一般来说,不建议这样做。

     

     

    命名包

    一般来说,使用类时,如果类的名称相同,会产生了冲突。

    eg:需要使用Hello类,但是存在两个Hello.java文件。

    使用包机制可以解决这种冲突,即同名不同包。

    放入包的类,在使用时需要使用完整类名,以此解决命名冲突。

    完整类名=包名.类名

    eg:放入aaa包的Hello类,使用时,通过aaa.Hello来调用。

     

    当多个应用出现时,可能会出现包名类同全相同的情况,这时,命名冲突会产生。

    通过包的命名习俗可以解决这种冲突。

     

    包的命名习俗

    包名一律使用小写字母。

    公司使用反转的互联网域名作为编写的包名的开始。eg:com.example.aaa下的Hello类。

    公司内部如果发生类命名冲突,可以使用region或项目名,eg:com.example.region.aaa下的Hello类。

    java语言中的包,使用java、javax。

    如果互联网域名因一些特殊原因无法使用,eg:域名中包含-,域名中包含保留字等。可以使用下划线将域名转化成可以使用的类型。

     

     

    使用包内成员

    包中包含的类型(eg:class、interface等)被称为包的成员。

    跨包访问包内成员时,只有public类型才能被使用。

     

    在使用一个未被import的其他包的成员时,可以通过完整类名来使用这个成员。

    eg:aaa.Hello hello = new aaa.Hello();

     

    引用一个外部包内的特定成员时,可以使用import语句。

    import aaa.Hello;

    note:引用aaa包下的Hello类型。

    ps:import语句放在package语句之后,类型定义语句之前。

    ps:使用过import语句之后,在使用引用类型之时就无需使用完整类型名。eg:Hello hello = new Hello():

     

    可以一次性引用一个完整的包,那么这个包下的所有类型全部都可以直接使用。

    import aaa.*;

    note:引用完整的aaa包。

    ps:引用一个包时,其子包下的类型不会被引入。eg:import aaa.*;不会引入aaa.bbb下的类型。

    ps:引用一个可以通过 import aaa.Hello.*;引入定义在Hello中的嵌套类型。

     

    包机制看上去像是分层的,但实际上并不是分层的。

    eg:java.awt、java.awt.color、java.awt.font,java.awt并不包含其他两个包。所以,即使引入了java.awt,也不会引入其他两个包内的类型。其他两个包使用java.awt作为包前缀,可以表示这三个包在功能上是互相关联的,但也仅此而已。

     

    当使用import引用的多个包中具有共享相同名称的类型时,代码中使用类型的简单名称会引发错误。

    eg:aaa包中有Helle类,bbb包中有Hello类,同时引入aaa包与bbb包,那么 Hello hello = new Hello();这句语句就会引发错误。

    这个错误,可以通过使用完整类型名来解决。

    eg:使用aaa.Hello hello = new aaa.Hello();便可以解决这个问题。

     

    使用静态引用来引入其他类型中定义的静态常量与静态方法。

    eg:

    import static java.lang.Math.*;
    

    or

    import static java.lang.Math.PI;

    使用静态引用的文件中,用到引用的静态常量与静态方法时,便可以不再使用完整类名。

    eg:double r = cos(PI*theta);

    使用静态引用需要适度,如果在一个文件中使用大量的静态引用,就无法分清每一个静态常量与方法究竟是出自哪一个被引用的类型。

     

     

    管理源文件与class文件

    java 语言规没有要求需要使用依赖层次的文件系统管理源代码与class文件,但是很多给予java平台的实现使用这一策略。

    这种方法,使用与包名相同的子文件名,来分层管理不同包下的文件。

    eg:com.example.aaa.Hello作为一个java文件,放在com\example\aaa文件下,编译后的class文件,放在com\example\aaa下。

    用来存放java文件的路径不必与存放class文件的路径相同,这种方法可以用来隐藏源代码。

    eg:one\com\example\aaa下存放Hello.java,two\com\example\aaa下存放Hello.class。

    存放class文件的路径被称为class path。

    将class path设置为环境变量CLASSPATH使得jvm与java编译器构建找寻class文件的完整路径。

    eg:class path为<path>\classes,包名为com.example.aaa,那么编译器与jvm找寻包下class文件的的路径为

    <path>\classes\com\example\aaa

    class path可以通过分号包含多个路径。

     

     

    详细教程:https://docs.oracle.com/javase/tutorial/java/package/index.html

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 完全掌握java包机制

    2011-05-06 11:37:14
    java的包机制介绍和使用方法,全面,简单易懂
  • 9. Java包机制

    2020-01-11 20:30:34
    导入java系统包:import java.util.类名; 导入所有包第一种方法:import java.util.*; 第二种方法:import 包名.*; 导包的作用:导入其他包(package)的类(class)以使用其他包里的类 */ //包命名规范:企业一般...
    package base;
    /*包语句格式:package 包名
       !!:package语句只能有零或一个;除注释外,包语句放在第一行:!!
          package(包)的出现是为了更好的组织class(类)
          包的作用相当于文件夹:不同的文件夹(包)里可以放同名的文件(类)
    */
    /*!!:显然导包语句可以有0或多个,导包语句放在包语句下面,类语句上面:!!*/
    import base.Demo1;
    import java.util.Scanner;
    import java.util.*;
    import base.*;
    /*导入自写的包格式:import 包名.类名;
      导入java系统包:import java.util.类名;
      导入所有包第一种方法:import java.util.*;
      第二种方法:import 包名.*;
         导包的作用:导入其他包(package)的类(class)以使用其他包里的类
     */
     //包命名规范:企业一般用公司倒置的域名作为包名。例:com.baidu.www
    public class Demo9 {
    }
    
    展开全文
  • java 包机制

    2021-09-12 18:16:26

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,626
精华内容 1,050
关键字:

java包机制

java 订阅