多态与接口
多态
简单来说,多态的含义是,父类的引用指向子类的对象。
例如:
Animal a = new Dog();
当用多态的方式调用方法时,只能调用父类中存在的方法。
例如:
父类{ void eat(){} } 子类{ void eat(){} //可见 void sleep(){} //不可见 }
如果子类重写了父类的方法,调用这个方法时,先从子类中调用,如果子类中没有,再在父类中寻找调用。
需要注意的是,方法有多态,变量没有多态。
interface 接口
- 接口的引用可以指向实现该接口的对象
- 一个接口可以多继承其他接口,但子类只能继承一个父类
- 抽象类不能new出来,且抽象方法不能具体写出。
- 接口中是抽象方法与常量。
interface IA{ int x=10; //public static final int x=10; void m1(); //public abstract void m1(); }
当一个类实现接口时,需要重写接口中的方法。
class IAImp implements IA{ public void m1() { } public void m2() { } }