总体学习路线
1. 跨域问题
在Controller上加上注解
2. 关键字
- status 静态变量
- final 常量
- 成员变量:先声明再用
3. 运算符
-
Math 类运算
- 幂运算:Math.pow()
-
字符串连接
(已知:a=10 b=20)
输出:
1020
30
4. 包机制
package com.zjplan.securityemergency.controller;
5. JavaDoc
-
语法
/** * */
区域设置:zh_CN
其他命令行参数:-encoding UTF-8 -charset UTF-8
6. Scanner
定义:
语法:
Scanner scanner = new Scanner(System.in);
输入字符串
输入下一行
next() / nextLine()
7. 结构
1. 选择结构 if
单选择、多选择、嵌套结构、swtich结构
2. 循环结构 while for
for
idea缩写:100.for
注意点
增强for循环
用途:便于数组应用
8. 方法重载
注意点:直接写就行,方法名称相同即可。
可变参数
递归
简要介绍:自己调用自己
9. 数组
int[] nums;
三种初始化
数据使用
//普通情况:
for (int i =1; i < arrays.length; i++){
System.out.println(array[i]);
}
//FOR EACH情况:
for (int array : arrays){
System.out.println(array);
} //取不到下标,常用来打印数组
数组类:Arrays
10. 对象
构造器
快捷键:Alt+Insert
11. 封装
核心思想:高内聚、低耦合
封装:主要是对属性来的,对方法较少
语法:
快捷键:Alt+Insert
好处:
12. 继承
本质:
快捷键:Ctrl+H 继承类的树
注意:
- 父类私有属性,子类无法调用
Super:
调用父类的属性
调用父类的方法
Super注意点:
- Super调用父类的构造方法,必须在构造方法的第一个
- Super 必须只能出现在子类的方法或者构造方法中!
- super和 this 不能同时调用构造方法
Super Vs this:
代表的对象不同
this: 本身调用者这个对象
super:代表父类对象的引用
前提
this: 没有继承也可以使用
super: 只能在继承条件才可以使用
构造方法
this() ;本类的构造
super(): 父类的构造!
方法的重写
注意:重写都是方法的重写,和属性无关
私有、静态方法不能重写!只有非静态方法才可以通过子类重写(Alt+Insert)
重写:需要有继承关系,子类重写父类的方法!
-
方法名必须相同
-
参数列表列表必须相同
-
修饰符: 范围可以扩大但不能缩小:public>Protected>Default>private
-
抛出的异常:范围,可以被缩小,但不能扩大; classNotFoundException --> Exception(大)
重写,子类的方法名和父类必要一致:方法体不同!
为什么需要重写:
- 父类的功能,子类不一定需要,或者不一定满足!
- Alt + Insert ; override;
13. 多态
多态注意事项:
-
多态是方法的多态,属性没有多态
-
是父类和子类,有联系! 此处可能报错:类型转换异常! ClassCastException !(父类不能调用子类的方法,要调用的话需要类型转换)
-
存在条件: 继承关系,方法需要重写,父类引用指向子类对象! Father f1 = new Son();
以下情况没有多态:
Instanceof 和类型转换
定义:判断前者是否和后者是父子关系。
类型转换:
注意:
14. 抽象类
-
注意点
对于抽象类的所有方法,继承了它的子类都必须要实现它的方法~ 除非子类也是抽象类。
15. 接口 interface
定义:
用法:
默认属于public,可省略关键字public。
//定义接口
public interface xxx{}
//定义接口的**实现**类
public class xxxImpl implements xxx {}
实现多继承
第二个接口
总结:
- 接口实质上是约束,本质上定义一些方法,让不同的人实现,便于业务操作
- 接口中的方法 修饰符:public abtract
- 接口中的属性 修饰符:public static final
- 接口不能实例化,因为接口中没有构造方法
- implements 可以实现多个接口
- 必须要重写接口中的方法。
16. 内部类
1. 分类
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
2. 特性
- 获得外部类的私有属性
- 一个java类中可以有多个class类,但是只能有一个public class
- 没有名字初始化类,不用将实例保存到变量中
17. 异常 Exception
分类
错误和异常
异常体系结构:Throwable是所有异常的超类。
错误:
异常:运行时异常/非运行时异常
代码操作
注意:
- 最大的异常写在最后面
- try catch语法:
-
快捷键:捕获异常快捷键 Ctrl+Alt+T
-
throw 主动抛出异常(一般用在方法的语句里,有抛出就有补货);
-
throws 在上层方法上抛出异常
总结:
快捷键
- 捕获异常快捷键 Ctrl+Alt+T
- 处理异常快捷键 Alt+Enter
18. 常用类
-
Object类
-
Math类
常见的数学运算
-
Random类
生成随机数–UUID Java中的UUID简单介绍_uuid java_梅花14的博客-CSDN博客
-
File类
-
包装类
自动装箱和拆箱–对八大基本类型Java 八大包装类(超详细!)_包装类有哪些_一个快乐的野指针~的博客-CSDN博客
-
Date类
-
Date
-
SimpleDateFormat Java日期格式化(DateFormat类和SimpleDateFormat类) (biancheng.net)
-
Calendar
-
-
String类
不可变性
-
StringBuffer:多线程
-
StringBuilder:单线程
坑!!!!
集合框架
-
Collection
-
List
-
Set
-
-
Map
-
HashMap
-
TreeMap
-
-
Collections工具
-
泛型<>约束,避免类型转换之间的问题
IO流
……(图不全)