(1)引言:突发奇想(多态与接口的爱恨情仇)
1.多态:多种形态->同一个对象,在不同时刻表现出来的不同形态。
举例:(一只真的猫,它可以属于猫类,也可以属于动物类。多态也可以理解为小的东西放进大的东西里面。)
第一种形态:Cat c1=new Cat(); //c1是只猫
第二种形态:Animal c2=new Cat(); //c2是个动物
2.多态的使用:父类型 对象=new 子类()
3.注意事项
多态中:父类和子类拥有一模一样的成员方法时。运行结果是子类中的方法。
父引用不能使用子类中特有成员(成员方法为例)。要想使用:(向下转型,也就是强转)
if(父引用对象 instanceof 子类型)
{
子类型 对象=(子类型)父引用;
对象.特有成员;
}
4.接口:制定规则的。接口中书写抽象方法,比抽象类好一点,它可以简写。
public interface 接口名 {
//抽象方法
}
public class 类名 implements 接口名 {}
5.为什么我要突发奇想?因为之后的学习都是隐藏了接口的多态。
假如类1实现了接口1,用多态的思想创建对象,那个对象姑且叫它父引用1吧。
父引用1可以使用类1与接口1共用的方法,只不过结果是类1输出的结果。类1特有的方法不能使用。
场景:你学习集合家族的时候,用多态的写法Collection coll=new ArrrayList();
coll没有索引,但是arrayList有索引,父引用coll不能使用索引,就是这个原因!!!
他喵的集合和数值老是想乱?切记切记?
(2)Mybatis
1.Mybatis思路: