• java中的Package语句和import语句


    在实际项目中会有成百上千个类,我们把近似的类放在同一个包里面,比如把实体类放在实体类包里面
     

    package 为解决类的 命名冲突问题而引入的机制。

        package语句作为Java源文件的第一条语句。(若缺省该语句,则指定为无名包。) 约定俗成的给包起名为把公司域名倒过来写,如com.sun Java编译器把包对应于文件系统的目录管理,package语句中,用‘.’来指明包(目录)的层次,例如package com.sun;则该文件中所有的类位于.comsun目录下。

    总结:

      1.如果你要把一个类放在包下面,第一句写package,你编译出来的类必须位于正确的目录下面。

         该类的源码可能会产生影响(解决办法:删除或转移到别的目录)

      2.如果想在另一个类里面引用包里面的类,要把名字写全。(相当用文件的绝对路径访问)或者用import导入,但位于同一个包中的类不需要引入

      3.必须class文件的最上层包中的父目录位于classpath下面。

      4.编译后,执行一个类的时候也需要把包名写全,不然无法执行。


    J2SDK中主要的包介绍(在jdk5.0/jre/lib/rt.jar里面,可用解压软件解开查看)

      Java.lang-包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能

      Java.awt-包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。

      Java.applet-包含applet运行所需的一些类

      Java.net-包含执行与网络相关的操作的类

      Java.io-包含能提供多种输入/输出功能的类

      Java.util-包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数

      其中就Java.lang包不用引入就能直接使用,其他包里面的类都要用import引入才能使用。

     

    如何打包?

      先定位到classpath设置的目录下 jar -cvf xx.jar *.* -c 创建新的文档 -v 生成详细输出到详细输出上 -f 指定存档文件名 即把classpath下的所有文件打包成xx.jar文件 如何使用呢? 把xx.jar的绝对路径放到classpath下面,这样就可能正常访问了
    eg.

    在一个文件中

      package com.sun;

      public class Cat {

      }

    在另一个文件中

      //import com.sun.*;

      public class T {

        public static void main(String[] args){

          com.sun.Cat c = new com.sun.Cat(); 

         }

      }

      1.把第一个文件编译生成的.class文件放到com.sun目录下,然后就可编译执行T.java了,其中Cat类必须为public

      2.第一个文件不变,修改二个文件成如下:

      import com.sun.Cat;

      public class T {

         public static void main(String[] args) {

           //com.sun.Cat c = new com.sun.Cat();

           Cat c = new Cat();

         }

       }

      同样可以达到目的。但是有点小问题,就是import com.sun.*;应该可以代替import com.sun.Cat;但在调试过程中却会报错。

      但是如果两上文件不在同一文件目录下,这时上面的程序就会报错。为此我们需要为此设置环境变量“classpath”,在里面添加路径,即com.sun的最上层目录的上一级目录,即存放com文件夹的目录名。这样程序就会从这里开始寻找需要的类。

      一个文件中可以同时有package和import存在,但在执行时要注意java 后面跟的文件名要写全。

     

     

    Java环境变量的配置及意义

  • 相关阅读:
    SVN限制IP访问
    jquery sortable的拖动方法示例详解1
    .net core下的dotnet全局工具
    通过Windows Compatibility Pack补充.net core中缺失的api
    RX库中的IDisposable对象
    使用Puppeteer进行数据抓取(四)——图片下载
    使用Puppeteer进行数据抓取(三)——简单的示例
    使用Puppeteer进行数据抓取(二)——Page对象
    使用Puppeteer进行数据抓取(一)——安装和使用
    AutoFac简单入门
  • 原文地址:https://www.cnblogs.com/tech-bird/p/3514769.html
Copyright © 2020-2023  润新知