JavaSE基础 (十六)

设计模式

适配器模式 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     造型异常