1. int ... arg; 可变参数
2. 数组拷贝放在JDK中的System类中,arraycopy(原数组,从原数组那一个索引开始拷贝,目标数组,在目标数组哪一个位置开始粘贴,拷贝元素的个数)方法。
3. native修饰符(本地方法),该方法底层使用了C++/C语言实现了,Java直接调用其他语言编写好的功能
4. 搜索某一个元素的索引是多少:
线性搜索(从头搜到位/从未搜到头):indexOf/lastIndexOf 性能低
二分搜索法/二分查找/折半查找(前提是数组元素有序)
5. binarySearch()二分搜索法,故查询前需要用sort()方法将数组排序,如果数组没有排序,则结果是不确定的
6. reverse()方法表示的是将一个输入流倒叙输出
7. Arrays是数组的工具类
8. java中指定位置如(0,6)都为前闭后开。包括前面不包括后面。
9. this: 当前对象,谁调用this所在的方法this就是哪一个对象。
super: 当前对象的父类。
10. 对象具有两种类型:编译类型、运行类型。
例:Animal a = new Dog();
编译类型:声明对象变量的类型,Animal表示把对象看出什么类型。
运行类型:对象的真实类型,Dog,运行类型--->对象的真实类型。
当编译类型与运行运行类型不同的时候,多态就出现了。多态就是指对象具有多种形态,对象可以存在不同的形式。
11. static静态块一般我们用来做初始化操作,加载资源,加载配置文件
12. 装箱:把基本数据类型数据转换成对应的包装类对象。
拆箱:把包装类对象转换成对应的基本数据类型数据。
java5之后允许自动装箱和自动拆箱功能。
自动装箱:可以把一个基本数据类型变量直接赋给对应的包装类变量。
自动拆箱:允许把包装类对象直接赋给对应的基本数据类型变量。
解释Object obj = 17;
1. 自动装箱:Integer i = 17;
2. 引用的自动类型转换,把子类对象赋给父类变量:Object obj = i;