Java封装性学习
封装就是合理隐藏、合理暴露。类中有属性、方法、构造器、内部类,这四块中有部分内容不想对外公开,那如果去控制我们这个内容的权限(谁能使用 谁不能使用)?
- package/import
- package包的作用概念
1. 包是Java项目中的一个核心概念,它是用来去区分不同类型的代码文件
2.包下面创建的Java源文件中 必须在首行使用package 包名.包名 显示的声明一下我在哪个包下
3.在同一个包下 Java文件名不同重复,但是在不同的包下可以有重新的Java源文件
4.包名也是标识符 除了满足标识符的基本语法,还需要满足一个行业的默认规范----纯小写
- import关键字的作用
1.如果我们使用的Java类和我们的代码不再同一个包下 那我们就得需要在使用Java类的代码中通过import 包名.包名.,,,,.类名的形式引入你需要使用的Java类
2.引入必须在package声明之后 class声明之前导入
- 在Java源码中 存在几个特殊的包
1.java.lang包,Java核心工具包
2.java.util包,学习的Java集合
3.java,io包,java io流
4.java.net,java网络的包
- 所有的Java源文件中,jvm都会自动给导入java.lang包下的所有代码
封装性说白了就是访问控制修饰符的使用。
- 访问修饰符一共可以修饰五块内容
- 类,类上面只能使用public或者缺省的访问控制符
- 属性
- 方法
- 构造器
- 内部类
其中属性,方法,构造器,内部类四个访问控制修饰符都可以修饰(public,default,private,protected)
注意:代码块不可以被访问控制修饰符修饰!!!
- 访问控制修饰符一共有四种
- public
- 不写,默认缺省(default)
- private
- protected
- 四个访问控制修饰符是用于控制权限的,也就是控制修饰的五块内容谁能访问 是不能访问
- 角色四种:本类、同包下的其他类、不同包下的子类、不同包下的非子类
- 详细的角色权限如下