2017-11-02 22:58:45

包(package):其实就是文件夹。

包的作用是对类进行分类的管理,并且区分不同的类名。

举例:

  学生:增加,删除,修改,查询

  教师:增加,删除,修改,查询

  ...

  方案一:按功能分类

      com.add

        AddStudent

        AddTeacher

      com.delete

        DeleteStudent

        DeleteTeacher

      com.update

        UpdateStudent

        UpdateTeacher

      com.find

        FindStudent

        FindTeacher

  方案二:按模块分类

      com.Student

        AddStudent

        DeleteStudent

        UpdateStudent

        FindStudent

        

      com.Teacher

        AddTeacher

        DeleteTeacher

        UpdateTeacher

        FindTeacher

注意事项:必须是第一条代码;一个java文件只能有一句;如果没有package,默认无包名。

带包的编译和运行:A:手动式

              a:编写一个带包的java文件

              b:通过javac进行编译该文件

              c:手动创建包名,并将生成的.class文件放到文件夹中

              d:回到java文件的文件夹,带包名编译

         B:自动式

              a:编写一个带包的java文件

              b:通过javac进行编译该文件,加上 -d . 即可 (-d参数的作用是指定生成java包的根目录,"."表示当前目录下创建包)

不同包下的类之间的访问:

1、不同包下首先需要加上包名限定

2、必须要先把需要的包的字节码文件编译出来

3、不同包下的权限问题

package com.cnblogs

public Class Test
{
public static void main()
{
//不同包下需要加包名
//Demo demo = new Demo();
com.edit.Demo demo = new Demo();
System.out.println(demo.sum);
}
}

导包功能:不同包下的类之间的访问,每次需要使用不同的包下的类的时候,都需要加上包的全路径。比较麻烦。这时候,Java就提供了导包功能。也就是import命令。

格式:import 包名;

需要的java类,要么拷到当前目录,要么拷到classpath中设置的目录,比如说c:\java\jdk\lib(前提是你要在classpath中设置这个目录)

import只能用于同级目录或下级目录的情况,比如你的程序放在d盘,而你要导入abc目录中的类,那么在程序开头写 import abc.*;
假如你要导入abc目录下的efd目录下的类,那么写 import abc.efd.*;
以此类推

另外, import 只能导入.class文件,不能导入.java文件

注意:这种方式是导入到类的名称;

          虽然可以最后写.*,不过不推荐使用这种方式;

不同包之间的权限问题:不同包之间的类的访问的修饰符只能是public和protected。

注意:不同包下子类是无法访问父类的protected修饰的成员的。

        

Java 包的概述和讲解的更多相关文章

  1. 10-03 Java 包的概述和讲解

    带包的编译和运行 A:手动式 a:编写一个带包的java文件. b:通过javac命令编译该java文件. c:手动创建包名. d:把b步骤的class文件放到c步骤的最底层包 e:回到和包根目录在同 ...

  2. Java包的基本概述

    第七章 7.1 包的基本概述 起因: 在我们设计一个程序的时候(尤其是多人合作),会写一些类来实现功能,但是往往会有重名的现象发生,为了解决这个问题,则专门设计了包.(还有其他作用,下述) 简单理解: ...

  3. Notes 20180506 : Java程序设计语言概述

    2.Java程序设计语言概述 如果对于开发语言的排行榜有所关注的话,那么会发现很长一段时间以来Java都是位居榜首的高级开发语言,作为一个Java开发者,为此感到骄傲的同时也深感忧虑,骄傲的是自己接触 ...

  4. Java类加载器概述

    Java类加载器概述 Java 中的类加载器大致可以分成两类,一类是系统提供的,另外一类则是由Java 应用开发人员编写的. 系统提供的类加载器 引导类加载器 它用来加载 Java 的核心库,是用原生 ...

  5. Java Reference简要概述

    @(Java)[Reference] Java Reference简要概述 Reference对象封装了其它对象的引用,可以和普通的对象一样操作. Java提供了四种不同类型的引用,引用级别从高到低分 ...

  6. Python 包的相对导入讲解

    [Python 包的相对导入讲解] 参考:http://www.dai3.com/python-import.html

  7. Android 虚拟机Dalvik、Android各种java包功能、Android相关文件类型、应用程序结构分析、ADB

    Android虚拟机Dalvik Dalvik冲击 随着Google 的AndroidSDK 的发布,关于它的API 以及在移动电话领域所带来的预期影响这些方面的讨论不胜枚举.不过,其中的一个话题在J ...

  8. 在Eclipse工具里创建maven的web工程,在建立src/main/java包出现The folder is already a source folder.解决

    1. 与创建普通java工程一样,点击右键找到New菜单,在弹出的界面输入maven ---->>点击maven Project------>>点击next 2  进入下一个界 ...

  9. android工程gen目录中R.java包名是怎么确定

    新建一个工程,包名用的com.mythroad.adskiller, 后来觉得不好,又改成com.mythroad.adsinscepter,但是我发现gen下的R.java文件的包名还是原来的com ...

随机推荐

  1. VMWARE安装centos6 http://www.centoscn.com/image-text/setup/2013/0816/1263.html

    http://www.centoscn.com/image-text/setup/2013/0816/1263.html

  2. linux下操作iso文件的两个shell程序

    记得这还是当初玩cdlinux时弄的,当初应该是由于windows下的Ultraiso对cdlinux的镜像修改后导致镜像无法引导,所以就使用linux下的命令进行操作 这应该是挂载iso文件的命令: ...

  3. # 20155327 2016-2017-3 《Java程序设计》第5周学习总结

    20155327 2016-2017-3 <Java程序设计>第5周学习总结 教材学习内容总结 理解异常架构 粉红色的是受检查的异常(checked exceptions),其必须被 tr ...

  4. Pointofix 1.7 Portable试用

    Pointofix 1.7 Portable简体中文单文件便携版 软件大小:347K软件语言:简体中文软件类别:国外软件/桌面工具/教育教学运行环境:windows XP/Vista/Win7开 发 ...

  5. Impala与Hive的比较

    1. Impala架构        Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的Hive+MapReduce批 ...

  6. python 打印输出至文件中, 'wt'读写文件方式,会把原文件内容清空

    会把原文件内容清空,写最新的 文件必须以文本模式打开,如果文件是二进制模式的话,打印会出错

  7. 返回xml过长时被nginx截断的解决办法

    返回xml过长时被nginx截断的解决办法 问题描述:通过网页获取数据,数据格式为xml.当xml比较短时,可以正常获取数据.但是xml长度过长时不能正常获取数据,通过观察返回数据的源代码,发现xml ...

  8. qmake使用方法(自动生成Makefile文件)

    qmake的使用简介 下面是qmake的简单介绍和使用要领,更为详细的信息请参阅手册 qmake的介绍 手写Makefile是比较困难并且容易出错的,尤其是需要给不同的平台和编译器组合写几个Makef ...

  9. 09: TemplateView , ListView ,DetailView三种常用类视图用法

    1.1 视图混合介绍 1.Mixin和View的职能区分 1. Mixin提供数据,View提供模板和渲染,所以一般get_context_data在Mixin中,get(),post(),head( ...

  10. poj 8469 特殊密码锁

    a:特殊密码锁 总时间限制: 1000ms 内存限制: 1024kB 描述 有一种特殊的二进制密码锁,由n个相连的按钮组成(n<30),按钮有凹/凸两种状态,用手按按钮会改变其状态. 然而让人头 ...