Java基础-包(package)的声明与访问
Java基础-包(package)的声明与访问
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.包的概念
Java中的包,其实就是我们电脑系统中的文件夹,包里存放的是程序员生成的类文件。当".class"文件很多的时候,通常我们会采用多个包进行存放管理他们,这种方式称为分包管理。
在项目中,我们将相同功能的类放到一个包中,方便管理,并且日常项目的分工也是以包作为边界。类中声明的包必须与实际class文件所在的文件夹情况一致,即类声明在a包下,则生成的.class文件必须在a文件下,否则,程序运行时会找不到类。
二.包的特点
1>.解决命名冲突;
2>.对类文件进行分类管理;
3>.给类提供多层命名空间;

三.包的声明格式
1>.保证是第一条可执行语句,通常写在程序文件的第一行;
2>.当使用了包名之后,对类的访问就需要使用完整类名;
3>.类名的全程是 包名.类名

四.包的定义规范
通常使用公司网址反写,可以有多层包,包名采用全都小写,把公司域名倒写,加上项目名,可以有多个项目名。

五.包的访问
在访问类时,为了能够找到该类,必须使用含有包名的类全名(包名.类名,如:java.util.Scanner)。
1>.被访问的包中的类权限必须是public;
2>.类中的成员权限:public或者protected;
3>.protected是为其它包中的子类提供的一种权限;
4>.四种权限;

六.导入包(import)
1>.导入包的特点
a>.简化类名的书写;
b>.一个程序文件中只能有一个package;
c>.可以有多个import;
d>.用来导包中的类,不会导入包中的包;

注意:通常写“import mypack.Demo;”而不写“import mypack.*;”,原因是可以明确知道导入的是什么类。
七.类及其成员可以用的修饰符
1>.类
a>.四种权限中可以使用两种(默认的,public)
b>.另外:final,abstract也可以
c>.我们自己定义:public居多
2>.成员变量
a>.四种权限修饰符均可,外加:final,static
b>.我们自己定义:private居多
3>.构造方法:
a>.四种权限修饰符均可,其他(final,static)不可以用
b>.我们自己定义:public 居多
4>.成员方法:
a>.四种权限修饰符均可,另外:fianl,static,abstract也可以
b>.我们自己定义:public居多
八.Java中package的编译与运行

Java基础-包(package)的声明与访问的更多相关文章
- Java基础-IO流对象之随机访问文件(RandomAccessFile)
Java基础-IO流对象之随机访问文件(RandomAccessFile) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.RandomAccessFile简介 此类的实例支持对 ...
- java基础-包
浏览以下内容前,请点击并阅读 声明 为了使类型更容易查找和使用,避免命名冲突,以及可视范围的控制,程序员一般将相关的一些类型组合到一个包中.组合的类型包括类,接口,枚举和注释,枚举是一种特殊的类,而注 ...
- java从包package中获取所有的Class
1.从包package中获取所有的Class方法: /** * 从包package中获取所有的Class * @param pack * @return */ public static List ...
- JAVA基础——包机制
包机制 包的语法格式package pkg1[.pkg2[.pkg3...]] 一般利用 公司域名倒置 作为包名; 例如www.baidu.com,则建立报的名字com.baidu.www 一般不要让 ...
- Java基础-包名和文件夹名字必须对应
.java文件夹中的包名必须与物理文件夹的对应. 如果修改包名或者文件夹名,双方都需要同时更新.
- Java基础-内部类-为什么成员内部类可以无条件访问外部类
在此之前,我们已经讨论过了成员内部类可以无条件访问外部类的成员,那具体究竟是如何实现的呢?下面通过反编译字节码文件看看究竟.事实上,编译器在进行编译的时候,会将成员内部类单独编译成一个字节码文件,下面 ...
- Java基础:数组的声明,循环,赋值,拷贝。
数组的声明 一般有两种形式的声明: int[] a; int a[]; 这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号. 声明一个数组,并没有将a真正的初始化为一个数组 ...
- java基础 4 继承(1)访问权限与作用域
作用域与可见性 当前类 同一package 子类 其他package public √ √ √ √ protected √ √ √ defalut √ √ private √
- Java基础—访问权限控制
Java中访问权限控制的作用: 为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分. 为了让类库设计者可用更改类的内部工作方式,而不 ...
随机推荐
- java的第一个实验
实验一 Java开发环境的熟悉 北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1352 姓名:林涵锦 学号:20135213 成绩: ...
- 《TCP/IP 详解 卷1:协议》第 10 章:用户数据报协议
引言 UDP 稍微扩展了IP协议,使得包可以在进程间传送,而不仅仅是在主机件.--<CSAPP> IP 数据报是指 IP 层端到端的传输单元.分组(packet)是 IP 层和链路层的传输 ...
- Eclipse下高亮显示Freemarker文件
让eclipse高亮显示freemarker文件有两种方式,一种是安装JBoss的插件,一种是用JSP编辑器打开freemarker的文件.我使用第二种方式来完成. 打开eclipse,点击windo ...
- 笔记:EF出现列名 'Discriminator' 无效、类没有加入数据库上下文也被数据迁移生成表
笔记: EF出现列名 'Discriminator' 无效: 类没有加入数据库上下文也被数据迁移生成表: 出现该问题一般是使用了某个基类继承了实体类: 原因是code first的POCO实体对象的继 ...
- 更新ubuntu的源
什么是Ubuntu的软件源? 我们在使用Debian或者Ubuntu的apt-get工具来安装需要的软件时,其实就是从服务器获取需要安装的软件并把它安装在本地计算机的过程.所谓的软件源,就是我们获取软 ...
- PAT 甲级 1004 Counting Leaves
https://pintia.cn/problem-sets/994805342720868352/problems/994805521431773184 A family hierarchy is ...
- pygame入门
pygame入门 说明 在学习pygame时,主要参考了目光博客的教程.目光博客 原教程是2011年写的,年代比较久远了,使用Python2.我学习时使用python3将代码重新实现了一遍,同时补充了 ...
- Oracle 11G RAC For Windows 2008 R2部署手册(亲测,成功实施多次)
总体规划 服务器规划 1.建议使用两台硬件配置一模一样的服务器来作为 RAC 环境的两个物理节点 2.服务器至少需要配置两块物理网卡 3.服务器规划表: 节点 主机名 本地磁盘大小 操作系统 内存大小 ...
- Code Blocks中配置OpenGL
使用的文件:我的CSDN资源共享 将glut.h文件放到MinGw\include\GL目录下面 将glut32.dll文件放到C:\windows\system32目录下面(如果是64位操作系统的话 ...
- SPOJ_LCS2
和上个题目差不多,这次是找若干个串的LCS,若干<=10 . 做法上面也是类似的. 首先以第一个建立SAM,然后后面的串都在上面更新.每个串的更新是独立进行的,互不影响.对于同一状态,首先在同一 ...