多态,抽象类和抽象方法,接口

多态:

  继承,重写后,基类引用指向子类对象。

  调用基类被重写的方法时,实际new的是哪个子类对象,调用哪个子类对象方法。

  多态是执行期间(非编译)判断所引用的对象的实际类型。

  提升可扩展性。

  使用举例:

    方法传入基类对象(接口对象)作为形参,实际调用时,如果传入的是子类对象(实现接口的对象),则调用形参成员时,调用的是实际参数,即子类对象(实现接口的对象)的成员。

抽象类和抽象方法:

  抽象方法只需声明,不用实现。

  public abstract void a();

  抽象方法用来被子类重写,且子类必须重写,否则子类要声明为抽象类。

  有抽象方法的类即为抽象类且必须声明为抽象类。

  抽象类只能被继承,不能实例化。

接口:

  public interface A{

    public static final int i = 1;

    public void B();

  }

  接口可以多重实现。

  接口是抽象方法和常量值的集合。

  接口是特殊的抽象类,只包含常量和方法的定义,没有变量和方法的实现。

  变量默认且必须public static且final。

  方法默认且必须public abstract。

  接口解决了“多继承”时,子类对象包含的多个父类对象成员重名问题,成员属于接口,不属于实现接口的对象。

  接口的抽象方法必须被重写。

  接口有多态。

  类和类之间:extends

  类和接口之间:implements

  接口和接口之间:extends

  接口前的public要注意应不应该存在。

  

  

原文地址:https://www.cnblogs.com/zawjdbb/p/6222536.html