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中访问权限控制的作用: 为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分. 为了让类库设计者可用更改类的内部工作方式,而不 ...
随机推荐
- css布局 弹性布局 和 网格布局
这里就不写这两种布局的内容了 弹性布局链接:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 网格布局链接:https://www.ji ...
- 关于jsonp知识的理解
jsonp 之前知道是用来解决ajax跨域的问题,但是其本质的原理,还是不清楚. 所以看了一下. js的script 的src里面的连接是可以跨域的,所以可以通过她来实现跨域资源获取. 但是也需要后端 ...
- c语言文法定义
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- 微信小程序 功能函数 定时震动
ffn: function () { let nnn = this.data.nnn nnn += 1; this.setData({ nnn: nnn }); if (nnn > 10) { ...
- java 基础 --静态
1. 静态变量和静态代码块是在JVM加载类的时候执行的(静态变量被赋值,以后再new时不会重新赋值),执行且只执行一次2. 独立于该类的任何对象,不依赖于特定的实例,被类的所有实例(对象)所共享3. ...
- Java多线程(四) —— 线程并发库之Atomic
一.从原子操作开始 从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包,而Queue,很多情况下使用到了Atomic操作,因此首先从这里开始). 很多情况下 ...
- 清华集训2015-Day 2
校内测试做到了,于是就把解题报告发出来. 简单回路 一个 \(n\times m\) 的方格纸,有 \(k\) 个障碍点.\(q\) 次询问,每次询问 \((x,y)\) ,问有多少条简单回路经过 \ ...
- FileZilla Server ftp 服务器下通过alias别名设置虚拟目录(多个分区)
最近检查服务器的时候发现磁盘空间不够用了,正好有两个硬盘正好,一个硬盘还空着,正好通过ftp服务器的别名功能实现添加空间了,这样就不用重新弄机器了 说明:FileZilla Server 的虚拟目录设 ...
- 自平衡二叉(查找树/搜索树/排序树) binary search tree
在计算机科学中,AVL树是最先发明的自平衡二叉查找树.AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,他们在 1962 年的论文 "An alg ...
- MT【156】特例$a_n=\dfrac{6}{\pi n^2}$
设无穷非负数列$\{a_n\}$满足$a_n+a_{n+2}\ge2 a_{n+1},\sum\limits_{i=1}^{n}{a_i}\le1$,证明:$0\le a_n-a_{n+1}\le\d ...