java什么是包?包中包括一些什么内容?

Python020

java什么是包?包中包括一些什么内容?,第1张

Java中的包(Package)其实指的就是目录,它是为了更好地管理Java类(Class)和接口(Interface)。

Java中的包里边一般当然都是Java类和接口。

Java 包(package)

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

包的作用

1、把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。

2、如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。

3、包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。

包语句的语法格式为:

package pkg1[.pkg2[.pkg3…]]

例如,一个Something.java 文件它的内容

package net.java.utilpublic class Something{

  ...}

那么它的路径应该是 net/java/util/Something.java 这样保存的。 package(包) 的作用是把不同的 java 程序分类保存,更方便的被其他 java 程序调用。

一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问保护和命名空间管理的功能。

以下是一些 Java 中的包:

java.lang-打包基础的类

java.io-包含输入输出功能的函数

开发者可以自己把一组类和接口等打包,并定义自己的包。而且在实际开发中这样做是值得提倡的,当你自己完成类的实现之后,将相关的类分组,可以让其他的编程者更容易地确定哪些类、接口、枚举和注释等是相关的。

由于包创建了新的命名空间(namespace),所以不会跟其他包中的任何名字产生命名冲突。使用包这种机制,更容易实现访问控制,并且让定位相关类更加简单。

当一个大型程序交由数个不同的程序人员开发时,用到相同的类名是很有可能的,那么如果发生了这样的事件我们该怎么办那?,在我们java程序开发中为了避免上述事件,提供了一个包的概念(package),那么既然有了这样一种方法能避免上述事件,那么我们怎样使用package那?,使用方法很简单我们只需要在我们写的程序第一行使用package关键字来声明一个包就行了,例如我们来声明一个名为pack1的包名,package pack1好了下面我们就利用范例来说明package的使用方法,及其编译运行的方法,

 假设我们在d盘下的新建一个文件(pack1),在pack1文件内包含两个java程序一个是Showmethod.java和Testshow.java;Showmethod.javapackage pack1//在这里把Showmethod类纳入到pack1包内

class Showmethod{

public void show(){

System.out.println("I'm a show method() of Showmethod class")

}

}

Testshow.java; package pack1//在这里把Testshow类也纳入到pack1包内

public class Testshow{

public static void main(String args[]){

Showmethod sm=new Showmethod()

sm.show()

}

}

下面我们就先来看一下如何编译这两个位于同一个包内的java程序,1:javac pack1\Showmethod.java

2:javac pack1\Testshow.java

这就是编译的方法  pack1是包名,包名后面跟的就是我们要编译的那个类名,编译好后pack1目录下回声成两个class文件,运行方法:

java pack1.Testshow

注意运行时要指出包名,包名后有一个点"."然后是类名,

2:下面我们来看一下如何访问不在同一个包内的类,在D盘分别建立pack1,pack2两个文件,

建立好之后将Showmethod.java放到pack1包内,

Showmethod.java的代码如下:

package pack1

public class Showmethod{

public void show(){

System.out.println("I'm a show method() of Showmethod class")

}

}将Testshow.java放到pack2包内

Testshow.java的代码如下:

package pack2

public class Testshow{

public static void main(String args[]){

pack1.Showmethod sm=new pack1.Showmethod()

sm.show()

}

}由于此类需要调用位于pack1包中的Showmethod类的show方法,所以这里pack1.Showmethod sm=new pack1.Showmethod()这样写,我们还可以使用import 语句将pack1包内的Showmethod方法导入进来,这样这个地方pack1.Showmethod sm=new pack1.Showmethod()我们就可以这样写了Showmethod sm=new Showmethod();对于import我们下一范例进行说明,

 还有一点我们必须注意,在访问不同 package里的类时,被访问的类必须被声明为public(就是公有类型的),否则在编译回报告错误,

 编译方法"

1javac pack1\Showmethod.java

2: javac pack2\Testshow.java

编译好之后pack1,pack2目录下回分别产声一个.class文件,

运行方法:

java pack2.Testshow