面向对象笔记

面向对象笔记

javac会为每个类自动生成一个类初始化方法,类字段在这个方法的主体中初始化,这个方法只在首次使用一个类之前被调用一次(经常是在Java虚拟机首次加载类时)。

通过定义子类或者拓展超类想类中添加功能的能力,是面向对象编程范式的核心。

上转过程无需做任何矫正(类型转换),但上转之后的下转需要做强转。

final类:表明该类不允许扩展或定义子类。

Object是一个特殊的类

  • 他是Java中唯一一个没有超类的类
  • 所有Java类都从Object类中继承方法

默认构造方法和构造方法链

Java保证在创建对象时一定会调用类构造方法,当一个类没有申明构造方法时,Java会自动为这个类提供一个无参构造方法,一旦开发人员为该类申明了任意形式的构造函数,那么Java不在提供默认构造函数。

java保证在创建对象时一定会调用超类的构造方法,当子类没有显式调用超类构造方法时,Java会自动在在子类的构造方法方法体开始处插入一个super()用于父类的午餐构造方法(注意:当父类没有无参构造方法时,编译会出错),子类可以指定调用父类的某个构造函数,此时在子类方法体起始处插入super(…)可完成指定,Java根据传入的参数去判断具体调用那个构造方法。(这两点规则在使用this(…)时会有一些小注意点,此处就不写下去了#快吐了#)

构造方法链:创建子类对象时,会调用子类的直接父类的构造方法,在执行父类的构造方法时会调用父类的父类的构造方法….这种链式的…构造方法链。

标签

评论

this is is footer