Java面向对象之代码块和final关键字的使用

代码块(或初始化块)

  1. 代码块的作用:用来初始化类,对象
  2. 代码块如果有修饰的话:只能使用static
  3. 分类:静态代码块VS 非静态代码块
  4. 静态代码块
    1. 内部可以有输出语句
    2. 随着类的加载而执行,而且只执行一次
    3. 作用:初始化类的信息
    4. 如果一个类中定义了多个代码块,则按照声明的先后顺序执行
    5. 静态代码块的执行要优先于非静态代码块
    6. 静态代码块内,只能调用静态的属性或者静态的方法
  5. 非静态代码块
    1. 内部可以有输出语句
    2. 随着对象的创建而执行
    3. 每创建一个对象,就执行一次非静态代码块
    4. 作用:可以在创建对象时,对对象的属性等进行初始化
    5. 非静态代码块中:可以调用静态的属性,方法,也可以调用 非静态的属性和方法

总结: 由父及子,静态先行

final 关键字:最终的

  1. final 可以用来修饰的结构: 类 方法 变量
  2. final 修饰一个类:此类就不能被其他类继承
    1. 比如:String类,System类,StringBuffer类
  3. final修饰一个方法:此类不能被重写 但是可以被重载
    1. 比如:Object类中的getClass();
  4. final修饰一个变量:此时的“变量”就称为一个常量
    1. final修饰属性:可以考虑的赋值的位置有:显式赋值,代码块中初始化,构造器中初始化
    2. final修饰变量:
      1. 尤其是使用final修饰形参时,表明此形参时一个常量,当我们调用此方法时,给常量形参赋一个实参。一旦赋值以后,就只能在方法体内使用此形参,但是不能重写赋值

static final 用来修饰 属性:全局常量 方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值