static关键字和final修饰符

一、static 关键字:代表静态的,可用于修饰 属性、方法、代码块、 **内部类

1. static 修饰的属性(静态变量或类变量)

①随着类的加载而加载,随着类的消失而消失(生命周期最长)

②static 修饰的属性可以被该类所有对象所共享

③一旦某个对象修改该属性值,其他对象的该属性值也会随之改变

④静态变量的存在优先于对象

⑤可以通过 "类名.类变量" 的方式调用


2. 类变量和实例变量的区别?

①内存中的位置不同

②生命周期不同


3. static 修饰的方法(静态方法或类方法)

①随着类的加载而加载

②静态方法的存在优先于对象

③可以通过 "类名.类方法" 的方式调用

④静态方法中不能使用非静态成员,非静态方法中可以使用静态成员

⑤静态方法中不能使用 this 和 super


二、类的成员之一:代码块(属性、方法、构造器)

1. 非静态代码块(初始化块):

①格式:类中的一对 {}

②每次创建对象时执行

③非静态代码块的执行优先于构造器

④用于为对象进行初始化。(通常用于为共性内容进行初始化)

⑤非静态代码块可以有多个,依次向下的顺序执行


2. 静态代码块:

①格式: static{}

②随着类的加载而加载,并且只加载一次。

③静态代码块的执行优先于非静态代码块

④静态代码块中不能调用非静态成员

⑤静态代码块可以有多个,依次向下的顺序执行


三、为属性赋初始值的方式

①默认值(缺省值)

②直接显示赋值

③构造器赋值

④代码块

顺序:① ②④ ③

注意:②④顺序执行


四、final 修饰符:代表最终的,可用于修饰 变量、方法、类。

①final 修饰的类不能被继承

②final 修饰的方法不能被重写

③final 修饰的变量叫常量,一旦被赋值,值不能改变。

1)命名规范:所有字母都大写,每个单词之间以 "_" 隔开。 例如: XXX_YYY_ZZZ

2)常量没有默认值,在使用前必须赋值(直接显示赋值、构造器赋值、代码块赋值)

若选择使用构造器赋值,必须保证所有构造器都为常量赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值