## 前言:
你们是使用者(用户) 我是ArrayBox类型的一个具体的对象
想要存储椅子 你们把椅子直接交给我box
以前直接找到数组那个人 我就可以帮你们存起来啦
存储的时候你们自己找位置 至于我把椅子存在了哪里 长度够不够 都不用你们管
如果数组存满啦自己想办法
数组是一个开发者创建好的类型
数组是一个小容器 存储一组元素
添加元素 获取元素 删除元素
1.创建一个数组对象 1.创建一个ArrayBox对象
int[] array = new int[10]; ArrayBox box = new ArrayBox();
2.添加元素 2.添加元素
array[0] = 10; box.add(10);
3.获取元素
int value = array[0];
通过说明(异常)来告知
4.遍历
for(int i=0;i<array.length;i++){
array[i];
}
#### 小细节知识点补充
三目运算符
(a>b) ? x : y ;
Object类中的方法
hashCode() 将对象在内存中的地址经过计算得到一个int整数
public native int hashCode();
equals() 用来比较两个对象的内容 Object默认效果是==
==可以比较基本类型(比较值) 可以比较引用类型(比较地址)
equals方法时Object类中继承过来的方法 默认效果比较地址
如果想要改变其规则 可以进行方法重写
public boolean equals(Object obj){
return (this == obj);
}
toString() 打印输出时将对象变成String字符串
public String toString(){
return this.getClass().getName()+"@"+Integer.toHexString(this.hashCode());
}
getClass() 获取对象对应类的类映射(反射)
wait() 线程进入挂起等待状态 存在方法重载
notify() 线程唤醒
notifyAll() 唤醒所有
finalize() 权限修饰符是protected 在对象被GC回收的时候 默认调用执行的方法
final finally finalize区别
protected void finalize(){
}
clone() 权限修饰符是protected 为了克隆对象
方法重写override 方法重载overload
1.类 产生两个继承关系的类 一个类中的一组方法
子类重写父类的方法
2.权限 子类可以大于等于父类 没有要求
*3.特征 final static abstract 没有要求
父类方法是final 子类不能重写
父类方法是static 子类不存在
父类方法是abstract 子类必须重写
(子类是具体必须重写 否则子类是抽象类 可以不重写)
4.返回值 子类可以小于等于父类 没有要求
5.名字 子类与父类一致 一个类中的好多方法名必须一致
6.参数 子类与父类一致 每一个方法的参数必须不一致(个数 类型 顺序)
*7.异常 运行时 编译时 没有要求
如果父类方法抛出运行时异常
子类可以不予理会
如果父类方法抛出编译时异常
子类抛出异常的个数少于等于父类
子类抛出异常的类型小于等于父类
8.方法体 子类的方法内容与父类不一致 每一个重载的方法 执行过程不一致