java学习笔记 2020/9/18

1. 代码块

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

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

静态代码块:

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

非静态代码块:

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

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

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

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

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

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

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

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

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

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

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值