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中访问权限控制的作用: 为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分. 为了让类库设计者可用更改类的内部工作方式,而不 ...
随机推荐
- Sprint会议3
昨天:熟悉了一下软件操作,设计了图标. 今天:今天满课,没有做什么实质性的进展. 遇到问题:由于没干什么,也没遇到什么问题.
- Leetcode题库——20.有效的括号
@author: ZZQ @software: PyCharm @file: IsValid.py @time: 2018/9/16 20:20 要求: 给定一个只包括 '(',')','{','}' ...
- 在visual studio中查看源代码
地址:https://docs.microsoft.com/zh-cn/visualstudio/ide/go-to-and-peek-definition?view=vs-2017 在 Visual ...
- 阅读 DPDK 中文论文两则
基于DPDK的高效数据包捕获技术分析与应用 本文应用场景 网络安全领域的数据包捕获技术,对系统有高性能需求,要在短时间内成功收集.分析.处理大量数据,实时捕获效率低下. 旧有传统数据包处理机制 BPF ...
- Ubuntu下tensorboard的使用
1. 找到运行程序的事件输出路径 找到路径并进入,例如我的是在路径/home/ly/codes下: 2. 打开tensorboard服务器 在终端输入(--logdir=自己所存的路径): t ...
- 团队作业之404 Note Found Team
如果记忆是一个罐头的话,我希望这一罐罐头不会过期----<重庆森林> 404 Note Found Team 如果记忆是一个备忘录的话,别说了,它不会过期----<404 Note ...
- 第二章 Socket用法详解
构造Socket Socket构造方法如下: Socket() //Creates an unconnected socket, with the system-default type of Soc ...
- Mysql高并发情况下的解决方案(转)
查询了下Mysql 关于高并发的处理的资料,在这记录一下. 高并发大多的瓶颈在后台数据逻辑处理,在存储,mysql的正常的优化方案如下: 1.代码中sql语句优化 2.数据库字段优化,索引优化 3.加 ...
- java类和对象
类是对象的抽象 对象是类的一个实例类 对象 = new 类();拿对象可以操作这个类里的方法 java类与对象的区别是个老生常谈的问题,刚开始学java的时候就开始接触类和对象,今天来总结一下他们之间 ...
- Anaconda多版本Python管理以及TensorFlow版本的选择安装
Anaconda是一个集成python及包管理的软件,记得最早使用时在2014年,那时候网上还没有什么资料,需要同时使用py2和py3的时候,当时的做法是同时安装Anaconda2和Anaconda3 ...