三、类,多态,抽象类,接口 三、类,多态,抽象类,接口

三、类,多态,抽象类,接口

 

代码块:
  局部代码块:
  构造代码块:和构造方法一起执行,并且先于构造方法执行,每new一次 就执行一次
  静态代码块:和类一起加载, 并且只执行一次

子类会继承父类中的数据,所有子类初始化之前一定会先初始化父类

子类中的所有构造方法 默认会继承父类空参构造  super()

A:方法重写注意事项
* a:父类中私有方法不能被重写
* 因为父类私有方法子类根本就无法继承
* b:子类重写父类方法时,访问权限不能更低
* 最好就一致
* c:父类静态方法,子类也必须通过静态方法进行重写
* 其实这个算不上方法重写,但是现象确实如此,至于为什么算不上方法重写,多态中我会讲解(静态只能覆盖静态)

若父类没有无参构造:

  1、super(参数) 访问父类有参
  2、this(参数) 访问本类有参去访问父类有参

扫描二维码关注公众号,回复: 6953947 查看本文章

多态:polymorphic
  静态方法
    * 编译看左边(父类),运行看左边(父类)。
  成员方法 编译看左边,运行看右边(子类)

抽象类  abstract class

  有成员变量   可以是常量 也可以是变量

  有构造方法,用于给子类初始化


  抽象类的方法不一定是抽象的 抽象方法一定在抽象类中或者接口中

   一个抽象类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
    可以,不让其他类创建本类对象,让子类去完成

  abstract 不能和哪些关键字共存
    static :      类名点调用 无意义
    final :        final 不能重写
    private :    不能被继承

  

接口 interface     implement 

  成员变量只能是常量

  没有构造方法

代码块:
  局部代码块:
  构造代码块:和构造方法一起执行,并且先于构造方法执行,每new一次 就执行一次
  静态代码块:和类一起加载, 并且只执行一次

子类会继承父类中的数据,所有子类初始化之前一定会先初始化父类

子类中的所有构造方法 默认会继承父类空参构造  super()

A:方法重写注意事项
* a:父类中私有方法不能被重写
* 因为父类私有方法子类根本就无法继承
* b:子类重写父类方法时,访问权限不能更低
* 最好就一致
* c:父类静态方法,子类也必须通过静态方法进行重写
* 其实这个算不上方法重写,但是现象确实如此,至于为什么算不上方法重写,多态中我会讲解(静态只能覆盖静态)

若父类没有无参构造:

  1、super(参数) 访问父类有参
  2、this(参数) 访问本类有参去访问父类有参

多态:polymorphic
  静态方法
    * 编译看左边(父类),运行看左边(父类)。
  成员方法 编译看左边,运行看右边(子类)

抽象类  abstract class

  有成员变量   可以是常量 也可以是变量

  有构造方法,用于给子类初始化


  抽象类的方法不一定是抽象的 抽象方法一定在抽象类中或者接口中

   一个抽象类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义?
    可以,不让其他类创建本类对象,让子类去完成

  abstract 不能和哪些关键字共存
    static :      类名点调用 无意义
    final :        final 不能重写
    private :    不能被继承

  

接口 interface     implement 

  成员变量只能是常量

  没有构造方法

猜你喜欢

转载自www.cnblogs.com/yaobiluo/p/11301977.html