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第二次实验20135204
一.实验过程: 1.先创建一个学号命名的文档: 2.一个百分制成绩转化为等级: 3.新建一个包,另一个测试: 4.打开UML,建模软件umbrello进行建模: 相关程序: 5.我的保存: 二.遇到的 ...
- spring冲刺计划
会议召开时间表 日期 时间 内容 05/09 21:00-22:00 讨论题目(未果) 05/10 21:00-21:30 确定题目(网络助手) 05/13 21:00-21:45 讨论软件页面设计 ...
- C#中周,月,第几周,周开始结束时间de方法总结
1.c#获取当前时间是本年的第几周,本月的第几周 private static int getWeekNumInMonth(DateTime daytime) { int dayInMonth = d ...
- c++工厂模式(Factory method)
下面以女娲造黑人,白人,黄种人的例子来介绍一下工厂模式. 1.工厂的接口,相当于造人工厂总部. class IHumanFactory { public: IHumanFactory(void) { ...
- WPF自学入门(十二)WPF MVVM模式提取函数
我们平时在写代码时为了不重复写代码,会进行复制代码或者写通用方法.今天我们就来把上传做的函数提取成为通用的方法调用.把上次写的函数提取为两个主要的文件:ObserableObject和RelayCom ...
- modify headers插件的使用
Modity headers是firefox浏览器的一个插件,作用是改变http请求的IP地址 (一)在firefox中添加该插件 步骤一:打开firefox浏览器,打开地址: https://add ...
- ubuntu 中安装memcache,并给出一个简单的实例·
Memcache分为两部分,Memcache服务端和客户端.Memcache服务端是作为服务来运行的,所有数据缓存的建立,存储,删除实际上都是在这里完成的.客户端,在这里我们指的是PHP的可以调用的扩 ...
- 如何选择mysql存储引擎
一.MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 ...
- struts 类型转换
- jmete JSR223 PostProcessor使用
1.使用xpath Extractor提取页面值 2.使用 JSR223 PostProcessor拼接json数据 function genJsons() { var MaterialName = ...