java学习随手笔记(更新)
注: 该笔记中的知识点不具备连续性,这是我在学习Java中随手记下的东西,该笔记不是事无巨细的将所有的知识点一一记录,只是记录了我在听课过程中自我感觉需要记录的知识点。故此笔记不具备参考价值,如果您看到了这篇笔记,请将此略过。
向上转型是为了参数类型的统一
向下转型是为了调用子类中的特殊方法
工厂模式,耦合,
代理设计模式
包和访问控制权限
- import语句只能出现在package语句之下,class定义的语句之上。
- 但是,在idea里编辑时却没有这些问题,不晓得是什么原因。
有时设置set classpath不起作用,可以看一下cmd的表头是不是有系统无法在消息文件中为 Application 找到消息号为 0x2350 的消息文本。
如果有这个的话,应该在win+r里面直接控制cmd,这样问题才会解决
jar的一些命令
用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项: -c 创建新档案 -t 列出档案目录 -x 从档案中提取指定的 (或所有) 文件 -u 更新现有档案 -v 在标准输出中生成详细输出 -f 指定档案文件名 -m 包含指定清单文件中的清单信息 -n 创建新档案后执行 Pack200 规范化 -e 为捆绑到可执行 jar 文件的独立应用程序 指定应用程序入口点 -0 仅存储; 不使用任何 ZIP 压缩 -P 保留文件名中的前导 '/' (绝对路径) 和 ".." (父目录) 组件 -M 不创建条目的清单文件 -i 为指定的 jar 文件生成索引信息 -C 更改为指定的目录并包含以下文件 如果任何文件为目录, 则对其进行递归处理。 清单文件名, 档案文件名和入口点名称的指定顺序 与 'm', 'f' 和 'e' 标记的指定顺序相同。 示例 1: 将两个类文件归档到一个名为 classes.jar 的档案中: jar cvf classes.jar Foo.class Bar.class 示例 2: 使用现有的清单文件 'mymanifest' 并 将 foo/ 目录中的所有文件归档到 'classes.jar' 中: jar cvfm classes.jar mymanifest -C foo/ .
比如说我要把包cn整成一个jar文件,我可以这样写jar -cvf my.jar cn
这样就会生成一个jar文件。
比如我要看my.jar
的内容,我应该jar -tvf my.jar
会出现像下面这样的目录结构
0 Fri Jan 31 16:34:48 CST 2020 META-INF/ 69 Fri Jan 31 16:34:48 CST 2020 META-INF/MANIFEST.MF 0 Fri Jan 31 16:34:20 CST 2020 cn/ 0 Fri Jan 31 16:34:20 CST 2020 cn/suyuesheng/ 0 Fri Jan 31 16:34:20 CST 2020 cn/suyuesheng/demo/ 406 Fri Jan 31 16:34:20 CST 2020 cn/suyuesheng/demo/Demo.class
要解压my.jar
就用jar -xf my.jar
注意,使用jar文件前必须设置CLASSPATH
- java的访问控制权限
https://blog.csdn.net/u010876691/article/details/72724415,这篇文章讲的不错 - java的访问控制权限的表格
序号 | 范围 | private | default | protexted | public |
---|---|---|---|---|---|
1 | 同一类 | √ | √ | √ | √ |
2 | 同一包中的类 | √ | √ | √ | |
3 | 不同包中的子类 | √ | √ | ||
4 | 其他包中的类 | √ |
java命名规范
一、命名规范
1、项目名全部小写,就是如果项目名是多个英语单词组成的,每个单词都要全部小写。
如:doubanssm。
2、包名全部小写。
3、类名首字母大写,也就是帕斯卡命名法,首字母大写,如果类名是多个单词拼成的,每个单词的首字母都要大写。
4、变量名、方法名首字母小写,也就是驼峰命名法,如果名称有多个单词组成,每个单词的首字母都要大写。
如:public int testJava(){}
5、常量名全部大写
如:public static final int ANIMAL_NUMBER=15;
二、命名规则
1、名称只能由字母、数字、下划线、$符号组成
2、不能以数字开头
3、名称不能使用JAVA中的关键字。
4、坚决不允许出现中文及拼音命名。
来源:https://www.cnblogs.com/sogeisetsu/p/12245928.html