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中访问权限控制的作用: 为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作时必要的,但是它并不属于客户端程序员所需接口的一部分. 为了让类库设计者可用更改类的内部工作方式,而不 ...
随机推荐
- Scrum Meeting 10.26
1.会议内容 姓名 今日任务 明日任务 预估时间(h) 徐越 学习服务器配置 配置SQLserver 4 卞忠昊 阅读代码 找上届代码的bug 3 武鑫 查阅资料 查阅资料,各种app的界面设计 3 ...
- javascript中的call(),apply(),bind()方法的区别
之前一直迷惑,记不住call(),apply(),bind()的区别.不知道如何使用,一直处于懵懂的状态.直到有一天面试被问到了这三个方法的区别,所以觉得很有必要总结一下. 如果有不全面的地方,后续再 ...
- Sprint9
进展:完善设置事件提醒界面,增加调用手机铃声部分,以及是否选择振动,以及可以添加事件进行保存.
- 旧文备份:CANopen中SYNC的功能和使用
SYNC是CANopen管理各节点同步数据收发的一种方法,相当于网络节拍,基于同步的PDO按照这个网络节拍来执行实时数据的收发.SYNC属于生产/消费型通讯方式,网络中有且只有一个SYNC生产者,一般 ...
- Maven解读:项目依赖管理如何优化
Github地址:https://github.com/zwjlpeng/Maven_Detail Maven最大的好处莫过于其强大的依赖管理系统,在Pom配置文件中指定项目需要的Jar包的坐标,Ma ...
- C1WPF制作OLAP Cube浏览工具
经过前期一段时间对WPF的学习了解,相信大家对WPF有了一定的了解.今天我们一起来了解使用Component One(简称C1)的WPF控件制作CUBE浏览工具.其实这个OLAP控件官方已经有了很详细 ...
- PAT 1067 试密码
https://pintia.cn/problem-sets/994805260223102976/problems/994805266007048192 当你试图登录某个系统却忘了密码时,系统一般只 ...
- PAT 1054 求平均值
https://pintia.cn/problem-sets/994805260223102976/problems/994805272659214336 本题的基本要求非常简单:给定N个实数,计算它 ...
- ySQL性能优化的21个最佳实践 和 mysql使用索引
MySQL性能优化的21个最佳实践 和 mysql使用索引 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 ...
- Hystrix 容错处理
目录 雪崩效应 容错的基本思想 什么是Hystrix 简单使用 消费端使用Hystrix 注解开启 改造消费方法 @HystrixCommand 详细配置 Hystrix线程隔离策略与传播上下文 Hy ...