知识点
1.数组
相同类型的数据集合,索引值从0开始。一旦数组声明后,长度不可变!
数组中的元素可以是任何数据类型(基本数据类型或者引用数据类型),数组本质上是一个引用数据类型
长度:length(属性)代表数组长度
注:list的长度为list.size()(这个是方法,不是属性!)
int num[];//声明数组
int []num2;//声明数组
int[] num2={1,2,3};//声明时进行初始化
int[] num3=new int[];//声明数组
2.二维数组
int[][] num=new int[5][5];//二维数组的声明
int [][]nums={{1,2},{3,4}};//声明时初始化
注:
1.二维数组声明时第一个5不可省略,第二个5可以省略,
即高层不可省略,低层可以省略(与C语言不同,因为java数组每行的元素个数可以不同)
3.数组操作API
int nums[]={2,5,33,7,11};
Arrays.sort(nums);//排序
System.out.println(Arrays.toString(nums));//打印数组
对数组nums进行排序后的输出结果如下所示:
4.不定长数组
如下int … XXX即为不定长数组
public void someMethod(int arg1, int arg2, int ... varargs) { // ...}
注:定长必须放在不定长的前面
5.类与对象
对象(具有相同属性和行为的一组对象为类)的三大特征:封装性、继承性、多态性
5.1继承性
父类更一般,子类更具体。一个类只有一个父类,一个父类可以派生出多个子类。this->当前类的成员对象,super->父类的成员对象,子类可以代替父类出现。
class 父类{}
class 子类 extends 父类{}
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)
子类可以代替父类进行实例化
子类调用行为时,调用的是自己的重写后的行为!
子类代替父类出现时,不能使用子类特有的属性,
5.2多态性
1.重写(override,子类重写父类的行为)
2.重载(overload同名且参数个数或参数类型不同的函数)
5.3封装
封装的作用:提高代码复用性;
私有化成员属性
提供公开的个性化get、set方法
super();父类的构造函数,无父类时继承自object,只能放在最前面!!