java学习笔记 2020/9/18

1. 代码块

代码块是用 " { " 和 " } " 包含起来的,括号前可以用static修饰,作用为初始化类和对象。

分类:静态代码块(前有static),非静态代码块

静态代码块:

  • 内部可以有输出语句
  • 随着的加载而执行,且只执行一次
  • 作用:初始化类的信息
  • 静态代码块的执行要优先于非静态代码块
  • 静态代码块之中只能调用静态的属性/方法

非静态代码块:

  • 内部也可以有输出语句
  • 随着对象的创建而执行,且每出现一个对象执行一次
  • 作用:可以在创建对象时,对对象的属性进行初始化
  • 内部可以调用both静态and非静态属性/方法

            代码块的执行顺序:有父及子,静态先行,先代码块,后构造器

而且类的加载是在main方法之前进行的!!

2. final修饰属性时,可以显式初始化、在代码块中初始化、或者在构造方法中初始化。不能用set子赋值,因为final修饰的属性必须要有值,但set子不一定会被调用。构造器是对象诞生前的最后一道关卡。

使用final修饰局部变量,尤其是形参时,表明此形参是一个常量,当我们调用这个方法时,给这个形参赋值,方法内只能使用,不能修改。

static final修饰属性,称为“全局常量”。

(static可以理解为,随着类加载)

3. abstract修饰方法表示抽象方法,抽象方法只有方法的声明,没有方法体。

包含抽象方法的类,一定是抽象类。抽象类中不一定有抽象方法。

若子类重写了父类的所有抽象方法,则这个子类可以实例化。

若没有重写所有抽象方法,则这个子类也是一个抽象类。

 

 

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页