3.Java包的概念

“包”机制是 Java 中特有的,也是 Java 中最基础的知识之一。一些初学 Java 的朋友,通常像学其他语言一样从教材上“copy”一些程序来运行,可是却常常遇到莫名其妙的错误提示,这些问题事实上都是对“包”的原理不理解。本节将就此问题进行深入阐述。

什么是 Java 中的包

在 Java 程序语言中,为了开发方便,会将多个功能相似的类放到一个组内,而这个组就是“包”,包就像一个目录结构。

先来观察目录结构,目录的结构分为目录、子目录和文件。在操作系统中,如何表示一个文件的目录结构呢?先看一个有关文件目录结构的例子:
    D:\Java\wp.doc
其实包的表示有点像文件的目录结构。例如:Java.wp。

下面来分析一下上面的代码,“Java”就是包名称,而“wp”就是类名称。

包就是将一些类组合在一起。例如,在一个 Java 包中有 wp 类、wp1 类、wp2 类等等。

包的作用总结如下:

  1. 包将包含类代码的文件组织起来,易于查找和使用适当的类。
  2. 包不止是包含类和接口,还能够包含其它包。形成层次的包空间。
  3. 有助于避免命名冲突。当使用很多类时,确保类和方法名称的唯一性是非常困难的。包能够形成层次命名空间,缩小了名称冲突的范围,易于管理名称。
  4. 控制代码访问权限。

如何实现包

在 Java 中要想使用包,必须先声明一个包,而声明一个包必须使用关键字“package”。具体如下所示:
    package Java.wp
声明一个包时,声明语句必须放在类所有语句的最前面,下面先看一个实例。
Public class package1{
    public static void main(String[] args){
        System.out.println(new Date());
    }
}
编辑出错,系统提示找不到类 Date。在 Java 中调用其他包中的公用类,可以使用两种方式:

  1. 第一种方式就是在每个类名前加上完整的包名。具体如下所示:
        java.util.Date today=new java.util.Date();
    这样的对象实例化看起来与以前用的“Date today=new Date()”有很大区别,就是在类名称前面加上了包的名字。再把刚才那个程序段修改,如下所示。
    Public class package1{
        public static void main(String[] args){
            System.out.println(new java.util.Date());
        }
    }
    这次编译器编译通过了。
  2. 第二种方式就是通过引入特定的类。在一个类中引入特定的类通过关键字“import”来实现,下面仍旧将上面的例子修改一下。
    import java.util.Date;
    Public class package1{
        public static void main(String[] args){
            System.out.println(new Date());
        }
    }
    这个程序段通过引入特定的类的方式,首先将类直接引入,那么系统编译时,就会先调用这个类,这样编译时就不会报错。

平时在编写程序时,没有必要把要引入的类写的那么详细,可以直接引入特定包中所有的类。例如下面的例子。
import java.util.*;
Public class package1{
    public static void main(String[] args){
        System.out.println(new Date());
    }
}

什么是类路径和默认包

在编程时,并没有使用关键字“import”来导入包和类,这是为什么?为什么有的时候要导入,而有的时候不用导入?

Java 虚拟机在运行时,系统会自动导入“java.lang”包,只要程序用到这个包的类时,不需要导入,因为系统自动为程序员导入了,就像在这个包内编写程序段一样。除了“java.lang”包外,要使用其他的包时,都必须手工导入。

由于这个包由系统自动导入,所以称这个包为系统的默认包。

类路径是什么呢?前面在配置 Java 编程环境时,配置了类路径。类路径就是能自动让系统找到程序员需要导入的类,所以在配置 Java 编程环境中,配置类路径是非常关键的。

包的作用域

在前面提到过“public”和“private”访问控制符,被声明为“public”的类、方法或成员变量,可以被任何类使用,而声明为“private”的类、方法或成员变量,只能被本类使用。

当没有指定“public”或“private”的部件,只能被本包中的所有方法访问,在包以外任何方法都无法访问它。

时间: 2024-08-29 14:53:14

3.Java包的概念的相关文章

Java——包的概念及使用

package是在使用多个类或接口时,为了避免名称重复而采用的一种措施,直接在程序中加入package关键字即可 编译语法: javac -d . HelloWord.java -d:表示生成目录,生成的目录以package的定义为准 .:表示在当前所在的文件夹中生成 执行语法: java org.common.demo01.HelloWord //================================================= //File Name : MyExceptio

java 中包的概念,常量,静态与继承

一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包: import 包名.*; import 包名.类名; 例如:import com.itnba.maya.zy.*; 注意:import不要放在package的上面上 package com.itnba.maya.zy; import com.itnba.maya.zyy.*; //从别的包里引用

go语言笔记——包的概念本质上和java是一样的,通过大小写来区分private

示例 4.1 hello_world.go package main import "fmt" func main() { fmt.Println("hello, world") } 4.2.1 包的概念.导入与可见性 包是结构化代码的一种方式:每个程序都由包(通常简称为 pkg)的概念组成,可以使用自身的包或者从其它包中导入内容. 如同其它一些编程语言中的类库或命名空间的概念,每个 Go 文件都属于且仅属于一个包.一个包可以由许多以 .go 为扩展名的源文件组成,

JavaSE复习日记 : java包机制

这里是第一个文件,命名为JavaSE_01.java,我在这个文件里面声明了一个m1()方法,通过包机制,我将在另外一个文件夹里访问这个文件里的东西,确切的说是访问这个文件生成的一个class文件; package com.jaovo.webTeah.db; /* * Java包机制 * * 也就是软件包机制,软件世界中的两大难题:命名和缓存; * * 在程序命名中取一个言简意赅的名字很难,有时候名字取出来发现这个名字已经存在,包括IP,域名,MAC地址冲突等,在计算机中都出现了命名冲突的问题,

Java包(Package)的详细用法(转)

Java包(Package)的详细用法 http://wenwen.soso.com/z/q229375145.htm 当一个大型程序交由数个不同的程序人员开发时,用到相同的类名是很有可能的,那么如果发生了这样的事件我们该怎么办那?,在我们java程序开发中为了避免上述事件,提供了一个包的概念(package),那么既然有了这样一种方法能避免上述事件,那么我们怎样使用package那?,使用方法很简单我们只需要在我们写的程序第一行使用package关键字来声明一个包就行了,例如我们来声明一个名为

java包的使用

包是Java语言提供的一种区别类名字命名空间的机制,它是类的一种文件组织和管理方式.是一组功能相似或相关的类或接口的集合.Java package提供了访问权限和命名的管理机制,它是Java中很基础却又非常重要的一个概念. 一.包的作用 1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用. 2 如同文件夹一样,包也采用了树形目录的存储方式.同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别.因此,包可以避免名字

Oracle包的概念

转自:http://www.cnblogs.com/lovemoon714/archive/2012/02/29/2373695.html 1.为什么要使用包?       答: 在一个大型项目中,可能有很多模块,而每个模块又有自己的过程.函数等.而这些过程.函数默认是放在一起的(如在PL/SQL中,过程默认都是放在一起 的,即Procedures中),这些非常不方便查询和维护,甚至会发生误删除的事件.所以通过使用包就可以分类管理过程和函数.     而且在包中还可以自定义自定义类型,从而在过程

2018-3-11Linux系统管理(10)(11)程序包初步概念及后端管理工具

本章我们来介绍Linux程序包的概念及安装校验卸载等管理操作. 一.概述 我们不止一遍讲述过操作系统的概念,首先是硬件,计算机它的计算能力都是在硬件设计逻辑上实现的,而这个设计硬件设计逻辑不同厂商所生产的硬件芯片及接口的方式都不一样.那么在向上一层就是将硬件规格给封装起来的操作系统层,它将硬件的差异化和复杂化而由丑陋的接口隐藏起来,向上提供了一个简洁而又统一的接口,我们称之为系统调用(system call),但系统调用仍然很底层,为了加速开发和易于维护,在系统调用的半层接口上又封装了一个更复杂

java ->包的声明与访问

包的声明与访问 包的概念 java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件. 当类文件很多的时候,通常我们会采用多个包进行存放管理他们,这种方式称为分包管理. 在项目中,我们将相同功能的类放到一个包中,方便管理.并且日常项目的分工也是以包作为边界. 类中声明的包必须与实际class文件所在的文件夹情况相一致,即类声明在a包下,则生成的.class文件必须在a文件夹下,否则,程序运行时会找不到类.包的声明格式 通常使用公司网址反写,可以有多层包,包名采用全部小写字母,多层包之间用"