一个项目一般都是有多人完成的,这样的话就可能出现命名的冲突问题。这个时候,就可以采用包,为自己的东西进行打包。包的概念就如同文件夹一样。当然文件夹也可存在命名相同的风险,只不过呢,嵌套多层的文件夹命名都相同的可能性就减少很多,而且可以采用多特的命名风格,来避免名字相同,比如在包的命名时加上域名、主机名等唯一性较强的名称前缀。
一、包的定义和使用
在Java程序中包的定义格式:package 包名称.子包名称 ;
例如:
package org.lxh.demo ; // 定义包
public class Hello{
public static void main(String args[]){
System.out.println("Hello World!!!") ;
}
};
说明:
①如果想要根据package的定义自动生成文件夹,则可以在编译的时候,加上“-d 生成目录”参数。
例如:javac –d . Hello.java ( “.”示当前目录)
②那么访问Hello类的时候必须使用以下的格式进行,例如java org.lxh.demo.Hello
二、包的导入
如果现在一个包的类要使用另外一个包中的类,那么就需要使用import指令,进行包的导入操作,语法如下:import 包.类 ;
提示:
①如果要用到另一个包的诸多类,那么如果一一采用import语句导入,很是麻烦,这个时候可以采用import 包.*;
②如果两个包中的类型完全相同,那么在使用的时候,在类的前面加上“包.类名”的完整限定词;
例如:
package org.lxh.demoa ; // 定义包
public class Hello{
public void print(){
System.out.println("Hello World!!!") ;
}
};
package org.lxh.democ ; // 定义包
public class Hello{
public void printInfo(){
System.out.println("www.mldnjava.cn") ;
}
};
package org.lxh.demob ; // 定义包
import org.lxh.demoa.* ; // 导入包
import org.lxh.democ.* ; // 导入包
public class TestHello{
public static void main(String args[]){
//new Hello().print() ;//编译错误,无法分辨
org.lxh.demoa.Hello he = new org.lxh.demoa.Hello() ;
he.print() ;
}
};
说明:因为这两个包中的类名相同,有都是public class,所以其文件名都是Hello.java,那么不能保存在同一个文件夹,可以将其中org.lxh.democ包先在别处编译,然后把democ文件夹拷贝到demoa 和demob 所在的org.lxh文件夹中。
三、静态导入
在JDK 1.5之后提供了一种新的导入语法 —— 静态导入,如果一个包中定义类的方法是static方法,则可以使用静态导入的方式完成操作。
import static 包.类.*; //下面使用此方法可以不加类名修饰
import static 包.类.静态方法; //下面使用此方法的时候可以不加类名修饰
import 包.类; //下面使用此方法必须加类名修饰
import static 包.类; //错误,使用static静态导入必须导入到方法
例如:
package mldn.util;
public class Math{
public static void add(int i ,int j){
System.out.println(i + j) ;
}
public static void sub(int i ,int j){
System.out.println(i - j) ;
}
public static void mul(int i ,int j){
System.out.println(i * j) ;
}
public void div(int i ,int j){
System.out.println(i / j) ;
}
}
package mldn.test;
import static mldn.util.Math.*;
public class TestMath {
public static void main(String[] args) {
add(10, 20);
}
}
分享到:
相关推荐
在IT行业中,"package"一词通常指的是编程中的包(Package),它是一种组织代码的方式,使得代码结构更清晰,管理更方便。在ActionScript 3(AS3)中,它是Flash开发的重要组成部分。AS3是Adobe开发的面向对象的编程...
针对这一需求,有一个专门的Oracle Package包,它支持UTF8编码,能够帮助我们实现汉字到拼音的转换。这个包通常包含了存储过程和函数,用于处理汉字与拼音之间的转换逻辑。 在Oracle中,这样的包通常是开发人员...
《NGUI3.1.1Package包:Unity3D中的高效UI解决方案》 Unity3D作为一款广泛应用的游戏开发引擎,其强大的图形渲染能力和灵活的脚本支持使得开发者能够创建出各种精彩纷呈的游戏世界。然而,对于游戏界面(UI)的设计...
这个"基于STM32的package包"很显然指的是针对STM32微控制器的开发工具包,它通常包含了固件库、开发环境配置、驱动程序、示例代码等资源,以方便开发者进行STM32应用的开发工作。 "Keil.STM32F0xx_DFP.1.4.0.pack...
在这个“android 6.0源码 package包”中,我们主要关注的是与应用程序和系统组件相关的源代码。 首先,Android源码中的`package`目录包含了Android系统的各种应用程序和服务的源代码。这些包通常以`.java`文件形式...
这些Package通常通过ELPA(Emacs Lisp Package Archive)获取,ELPA是Emacs内置的包管理器,它允许用户方便地安装、更新和管理Emacs的扩展。 标题"windows环境下emacs elpa常用package打包"指的是在Windows操作系统...
在您提供的标题和描述中,提到了"unity打包apk加密工具及unity package包",这意味着我们将会探讨如何使用Unity进行APK加密以及如何管理Unity Package。 首先,让我们了解一下Unity Package。Unity Package是Unity...
该插件可以外部解压.unitypackage包,可以查看.unitypackage文件内的代码,无需拖入Unity工程中查看了。
本文将详细讲解如何导入并应用MegaPack系列风格化角色UnityPackage包。 首先,让我们了解UnityPackage。UnityPackage是Unity引擎特有的一种资源打包格式,用于方便用户导入和导出项目中的资源,如模型、纹理、脚本...
package 打包 postinstall 文件
在"new unity FastOcean 1.07unity海洋系统源码Unitypackage包"中,我们可以深入理解Unity如何构建一个逼真的海洋系统,并学习到关于Unity3d、Unitypackage以及Unity项目源码的相关知识。 首先,FastOcean 1.07是一...
Unity颜色拾取器package包
柱状的热力图插件package包
HC32L110xxxx Package包 基于Keil平台
复旦微FM15F3XX package包
打开Visual Studio 的时候,总提示未能加载相应的Package包,有时候还无法打开项目,各种错误提示,怎么解决呢?下面小编给大家带来了Visual Studio 未能加载各种Package包的解决方案,一起看看吧
4. 使用`java <package>.<classname>`命令运行编译后的程序,`<package>`是包名,`<classname>`是类名。 这个过程对于理解Java程序的组织结构和DOS命令的使用具有重要意义,也是每个Java开发者必备的基础技能。
很多时候我们下了几十个unitypackage资源包,又不清楚好不好用,而且导入之后编译特别慢,unity又不提供批量解压的功能,所以这时候就想能不能提前解压呢。 当然可以,为此我做了一个工具,可以不需要unity直接将...