Java核心技术(初阶)知识点复习——[4]继承、接口、抽象类

1.继承

  [1]子类继承父类的所有方法,从而可以访问父类的私有成员变量;

   每个子类构造函数的第一句话,都默认依次调用父类的无参构造函数super(),

    即子类必须在构造函数的第一行显式/隐式的调用super()一次;

  [2]在同样方法名和参数的情况下,本类的方法会比父类的方法的优先级高,即优先调用子类内部自己定义的方法;

  [3]如果不自己写extends,Java类都默认继承java.lang.Object类,所以可以说Java中所有类都是从java.lang.Object类开始构建出的单根继承树;

   Object里默认就有clone(), equals(), finalize(), getClass(), hashCode(), toString()等;

2.抽象类和接口

  [1]方法声明后面存在{},即完整方法体的才叫实现了这个方法;({}内可以没有任何东西)

  [2]方法全部实现的类才是一个完整的类,一个完整的类才能被实例化即new出对象;

  [3]abstract 和 interface对比

    1)抽象类可以有部分方法实现,接口所有方法不能有实现;

    2)抽象类有构造函数,且包括构造函数在内的所有方法可以有public/private/protected;接口没有构造函数,且包括构造函数在内的所有方法都是public;

    3)抽象类可以有main,也能运行,接口没有main函数;

    4)接口可以继承多个接口,没有实现的方法将会叠加;接口里面的函数都不能实现,否则就是一个抽象类,可以定义final常量型的变量;

    5)类只可以继承(extends)一个类,但可以实现(implements)多个接口,且继承和实现可以同时发生;此时,extends必须放在implements前;

 注:匿名类,可以实现临时new一个接口/抽象类的实例出来,意义和用处尚未明确,等之后碰到了回来补充⑧!

原文地址:https://www.cnblogs.com/li7anStrugglePath/p/12731436.html