对多态的再理解:
对于引用子类的父类类型,在处理该引用时,它适用于继承该父类的所有子类,子类对象的不同,对方法的实现也就不同,执行相同动作产生的行为也就不同。
如果父类是抽象类,那么子类必须要实现父类中所有的抽象方法,这样该父类所有的子类一定存在统一的对外接口,但其内部的具体实现可以各异。这样我们就可以使用顶层类提供的统一接口来处理该层次的方法。
抽象类:
1.抽象类使用abstract修饰
2.抽象类中的方法必须是抽象方法
3.有抽象方法的类必须定义为抽象类
4.抽象类不能被实例化,且抽象方法只声明,没有方法体
接口
1.接口与类类似,但是接口中仅仅包括方法的声明,而不包括方法的实现部分。
例如Shape接口定义
public interface Shape
{
public double getArea();
public double getZhouchang();
}
2.但是一个接口可以同时被多个类实现,从而这些实现了该接口的类可以体现多态性。
注意:实现接口的类必须实现该接口中的所有方法
接口可以实现多多继承。
继承方法调用
继承是,如果在子类中重写父类方法,则调用重写的方法,如果没有,则使用对象名.父类方法名调用父类
static关键字
static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。
方便在没有创建对象的情况下来进行调用(方法/变量)。