0x01 赋值运算符的扩展
0x02 逻辑运算符
0x03 module
最顶级别是project,最次的是module
如果要删除module
0x04 IDEA常规设置
1设置主题
2 设置代码提示
3 自动导包和删除多余包
4 自动导入合并
5 显示行号和显示方法分隔符
6 忽略大小写提示
7 多个类不隐藏 可以显示多个
8 字体和大小
9 修改代码中注释中的颜色
10 修改文档注释的类模板
/**
* @Auther: Dem0
* @Date: ${DATE} - ${MONTH} - ${DAY} - ${TIME}
* @Description: ${PACKAGE_NAME}
* @version: 1.0
*/
11 设置文件的编码格式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lxw60GjJ-1639876875505)(https://i.loli.net/2021/05/28/15VSgJHX2LZkFur.png)]
12 自动编译
13 省电模式
14 垂直展示和水平方式
15 导入jar包
16 生成序列化版本号
0x05 快捷键
创建 alt+insert
创建main psvm
输出方法 sout
复制一行 ctrl+d
删除一行 ctrl+y
搜索类 ctrl+n
百能快捷键 ctrl+enter
代码移动 ctrl+shift + up/down
快速创造 alter+insert
生成变量 alt+enter
重命名 shift+f6
for循环 fori
放在代码块中 ctrl+alt+t
代码回退
代码提示alt+/
撤退和回撤
显示代码结构
0x06 代码模板
sout 打印
.sout 打印(前面加变量
fori 生成for循环
.fori
.forr
增强for循环
iter
.for
ifn .null 判断是否为空
inn .nn 判断是否为空
prsf 生成private的f函数
修改代码模板
$$就是光标所在位置
方法注释模板
0x06 调试优化
调试按键
查看表达式的值
alt+f8
0x07 面向对象
创建对象的过程:
- 第一次遇到person的时候,进行类的加载
- 创建对象,为这个对象在堆中开辟空间
- 为对象进行属性的加载
构造器和方法的区别
- 没有方法的返回值
- 和类名一致
构造器重载可以有参数的构造器了。
重写和重载的区别
super修饰构造器
父类的两个(利用super构造构造器)
super和this构造器不难同时存在
以后构造器的生成可以快捷生成。alt+insert
继承条件下的构造方法执行
引用类型的比较
final修饰符
(1). final 修饰一个变量,这个变量的值就不可以改变. 名字大写
(2). final 修饰引用数据类型, 地址就不可能改变
接口
类是类,接口是接口
接口中没有构造器
jdk1.8之前只有两部分内容
1. 常量: 固定修饰符 public static final
2. 抽象方法: public abstract
在jdk1.8之后
1. public default 修饰的非抽象方法
实现类中要是想重写接口中的非抽象方法,不能加default
如何调用接口中的方法:
(1) 直接使用
(2) 接口.super.方法 就可以调用
2.静态方法
静态方法不涉及重写
3. 如果接口中只能定义抽象方法,那么我要是修改接口中的内容,那么实现类的影响太大了,所有实现类都会受到影响
(1). 接口声明格式:
[访问修饰符] interface 接口名 [extends 父接口]{}
(2). 类和接口之间的关系
实现关系:类实现接口 必须是实现接口所有的方法
继承只能单继承,但是接口都多实现
内部类
方法内 块内 构造器内
(1). 成员内部类
静态和非静态
内部类可以访问外部类的方法
静态内部类中只能访问被静态修饰的外部类
age
this.age
TestOut.this.age
创建静态
Test.e D = new Test.e;
创建非静态的
Test t = new Test();
Test.d d = t.new d();
(2). 局部内部类
- 在局部内部类中访问到的变量必须是被final修饰的
- 如果类在整个项目中 只使用一次,那么就没有必要单独创建一次
return new INterface(){....}
t.this.age`
创建静态
Test.e D = new Test.e;
创建非静态的
Test t = new Test();
Test.d d = t.new d();
(2). 局部内部类
- 在局部内部类中访问到的变量必须是被final修饰的
- 如果类在整个项目中 只使用一次,那么就没有必要单独创建一次
- [外链图片转存中…(img-yOowrLit-1639876875513)]
return new INterface(){....}
匿名内部类 快乐了。