一.static关键字
1.概述
静态关键字
2.使用
a.修饰成员变量
b.修饰方法
3.调用
类名调用
4.特点
a.static修饰的成员为静态成员,静态成员属于类成员,不属于对象成员
b.static修饰的成员会随着类的加载而加载,优先于对象存在
c.凡是根据static所在的类创建出来的对象,都可以共享这个静态成员
5.成员访问特点
a.静态方法中不能直接访问非静态成员
new 对象访问
b.非静态方法中能直接访问静态成员嘛?
在同类中 -- 直接调用/类名调用
不在同类中 -- 类名调用
c.静态方法中能直接访问静态成员嘛?
在同类中 -- 直接调用/类名调用
不在同类中 -- 类名调用
d.在非静态方法中能直接访问非静态成员嘛?
在同类中 -- new对象调用/直接调用
不在同类中 -- new对象调用
6.总结
a.不管在不在一个类中,只要是访问静态的,都可以类名调用
b.不管在不在同一个类中,只要是访问非静态的,都可以new对象调用
7.使用场景 -- 抽取工具类使用
a.构造私有 -- 不能new对象,相当于强制使用类名调用
b.成员都为static的 -- 方便调用
二.可变参数
1.概述
可变的参数
2.作用
可以接收0个或者多个参数
3.格式
数据类型...变量名
4.本质
数组
5.注意
参数位置只能有一个可变参数,而且要放到最后
三.递归
1.概述
自己方法内部调用自己
2.分类
直接递归/间接递归
3.注意
a.要有出口
b.递归次数不要过多
四.数组常见算法
1.冒泡排序
相邻元素比较,互相换位置
2.二分查找
a.前提
数组元素有序
b.思想
每次都从中间索引开始找,每次排除一般数据
五.对象数组
存储的对象,取出来还是对象