前言
介绍:大家好啊,我是hitzaki辰。
社区:(完全免费、欢迎加入)日常打卡、学习交流、资源共享的****************************知识星球。********************************
自媒体:我会在b站/抖音更新视频讲解 或 一些纯技术外的分享,账号同名:hitzaki辰。
正文开始,抓紧上车!
一 - 封装的目的
1.隐藏类的实现细节
2.让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对实例变量的不合理使用
3.可进行数据检查,从而有利于保证对象信息的完整性
4.便于修改提高代码的可维护性。
二 - 权限修饰符
public(公有的) > protected(受保护的) > (default)(缺省的) > private(私有的)
(default并不是关键字 default,而是根本不写)
1 - private
1.作用域: 只在该类的内部可见,出了该类不可见,无法使用。(子类也无法访问)
2.修饰:
private不能修饰外部类,可以修饰内部类。
被private修饰的成员变量或成员方法,不能被类的调用者使用。
阿里编程规约:类中,无特殊说明,成员变量全用private封装。
修饰成员变量实现私有化,再使用设置器setter、访问器getter来访问。
优点:提高代码复用, 提高程序的安全性。
(方法,类,属性的私有化... 都是封装的体现)
2 - default
作用域:只有同一个包内才能访问。(同一个直接包,子包不算)
3 - protected
作用域:同一个包内 或 子类
应用:设计模式中的模板方法
使用它修饰多个行为方法:protected 返回 行为n(){}
最终public action方法按顺序调用所有行为方法。
子类可以对各个行为方法进行重写,以此改变action的行为,并且这些单独的行为方法还不会对外暴露。
4 - public
作用域:全部
三 - java的"包"
java的包是用来组织文件的一种虚拟文件系统,它是跨平台的,与操作系统无关。
因为不同的人会以不同的目的定义相同的类名或接口名,Java解决此问题的主要方法是包,Java中组织类和接口的方式也是包。
1)把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
2)包如同文件夹一样,文件放在文件夹 ,而类和接口放在包下,包和文件夹一样,都是层次结构。
3)包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。
4)以 . 分隔表层次结构,比如java.lang.String,java为上层包名,lang为下层包名, {带完整包名的类称为完全限定名。}
(Java API 中所有类、接口都位于包java、javax下, java是标准包、 javax是扩展包)
1 - 声明程序所在包
1)在外部类的首部 (前面不能有除注释外的其他语句), 必须编写类所属哪个包, 格式: package 包名;
2)包名的前缀通常由多个单词组成, 所有单词的字母小写, 单词与单词之间使用.隔开 ,
3)一般命名为"域名.项目名.模块名..."。 (因为Java规范要求包命名的唯一性,因此常使用域名命名,这样不会冲突)
比如org.xuanchen.wschool.service ,这是这个模块所有代码都有的包前缀,它一定是唯一的,其次再根据业务细分出子包,如controller、service。
2 - 通过包使用类
1)通过完全限定名使用
2)通过完全限定名导入后 再使用, import 完全限定名;
3)import java.util.*; 将导入这个包下的所有直接类。 (不包含子包下的类) (不可以import java.*.*; )
4)静态导入: 在JDK 1.5之后引入的新特性,可直接将类的公开静态方法和成员导入到自己这里,此后直接根据方法名使用。
如 import java.util.Arrays.*; 此后可以直接sort(arr);
3 - jar包
打包的一般都是编译后的代码, 将1到多个编译后的文件打包为1个文件,方便其他程序调用。
Java的打包命令为jar,打包后的文件拓展名为jar,称为jar包。
使用下列方式打包:
1)先找到编译后的文件 .class 的根目录
2)在cmd运行命令: jar -cvf <包名>.jar <最上层包名>
1)jar包其实就是一个压缩文件,可以使用解压缩的工具打开。
2)Java类库、第三方类库 都是以jar包的形式提供,使用时将其jar包加入类路径即可。
结尾
感谢你看到这里,如果感觉内容不错的话请点赞支持一下!
如果小伙伴对我的讲解有疑问,欢迎评论区讨论。