设计模式
适配器模式 Adapter
定义一个规则------->和尚 吃斋 念经 打坐 撞钟 习武
适配器
鲁智深 鲁达 形态丑陋 面貌凶顽
方丈说 此人上应天星 心地刚直 虽时下凶顽 命中驳杂 久后却得清净 证果非凡 汝等不及他
public abstract class AbstractBox implements Box{
public booolean add(element);
public void add(int index,int element){//具体化
}
public void addAll(){//具体化
}
public int get(index);
public int remove(index);
public int size();
}
Java面向对象的四大特性
继承 封装 多态 (抽象)
多态
同一个对象 体现出来的多种不同形态(身份)将一种行为表现出不同效果要想实现多态的效果 需要先有继承关系
体现
1.父类类型的引用 指向 子类的对象
Person p = new Teachher();
2.该引用只能调用父类定义的属性和方法
3.如果子类中将父类的方法重写,那么调取方法后执行的结果是子类重写之后的那个结果
如果父类与子类有同名的属性 执行父类的属性
如果父类与子类有同名的方法(重载) 执行子类重写之后的方法
4.若想要调用子类中独有的成员
(强制类型转换)造型 铸型 (向上/向下转型)//把父类引用向下转型
5.造型时(强制向下转型时)可能会出现一个运行时异常
ClassCastException 造型 铸型 异常
如果想要避免造型异常可以用instanceof关键字来进行判断// O instanceof Student 对象是否属于后面类型
Object
hashCode equals toString getClass......
Animal
name属性 eat sleep
Person Pig
name属性 重eat 重sleep 独talk name属性 重sleep
Teacher Student
name属性 重eat 独有teach name属性 重talk 独study
Object o = new Teacher();//向上转型
o.hashCode() o.toString();
Animal a = (Animal)o;//向下转型
a.hashCode() a.toString a.name a.eat() a.sleep()
Person p = (Person)o;
p.hashCode();p.name p.eat p.sleep p.talk
异常
1.InputMismatchException 输入不匹配
2.NumberFormateException 数字格式化异常
3.ArrayIndexOutBoundsException 数组索引越界
4.NegativeArraySizeException 数组长度负数
5.NullPointerException 空指针异常
6.AirthmeticException 算数异常
7.ClassCastException 造型异常