关键字 static和final
来源:互联网 发布:育知同创北京校区 编辑:程序博客网 时间:2024/06/05 01:12
static和final是java程序中经常用到的两个关键字,以下是我对这两个关键字的理解和总结:
一.static 关键字
1.static修饰变量
a.该变量为所有成员共享,该变量的空间在内存中只有一份
b.该变量可以直接用类名访问
c.static修饰的变量被称为类变量,不是某个对象拥有而是类拥有
d.static修饰的变量是在类加载的时候开辟空间
e.普通变量和静态变量的区别
1)静态变量在类加载的时候开辟空间,普通变量则是在创建对象的时候开辟空间
2)普通变量空间每个对象都有一份,而静态变量则是所有对象共享一份
f.如果一个变量需要多个对象共享,则需要使用static修饰
2.static修饰方法
a.该方法可以直接用类名来访问
b.静态方法只能访问静态变量( 类加载的时候,静态方法就已经有空间了)
c.静态方法只可以访问静态方法
d.非静态方法可以访问静态变成员
e.当我们设计类时,有些方法不需要创建对象调用,则可以用static修饰(用类名直接调用方法)
3.static修饰代码块(静态代码块)
代码块
a.静态代码块
(1)静态代码块在类加载的时候被执行
(2)静态代码块只会被执行一次
(3)如果想让某一个程序只运行一次,就可以使用静态代码块
b.构造代码块
(1)一般存放所有构造方法共有的代码
(2)构造代码块在每次创建对象的时候被执行,而且比构造方法先执行
(3)如果一个类有父类 则执行顺序是父类构造代码块—–>父类构造方法——->子类构造代码块——>子类构造方法
c.局部代码块
让局部变量使用后尽快释放空间
二.final关键字
1.final 修饰类
1).该类不能被继承
2).该类中的所有方法不能被重写
2.final修饰方法
1)该方法不能被重写
2)使用场景:如果;类中一个方法不能被重写就用final,其他方法可以重写
3.final修饰变量
1)final修饰的变量值不能被更改,称为常量
2)final修饰的变量可以不赋值,在构造方法中赋值
3)final修饰引用数据类型,引用数据类型的地址值不能变,但是所指向空间的内容可以改变
三.注意事项:
1.abstract不能和static和final共存
2.static和final可以共存,表示既可以类名直接调用,又不可变
- static和final关键字
- Static 和 final关键字
- 关键字 final 和static
- static和final关键字
- 关键字 static和final
- static和final 关键字
- static和final关键字
- static和final关键字
- final和static关键字
- 关键字final和static
- 关键字 static和final
- static和final关键字
- static 关键字和final关键字
- static关键字和final关键字
- final关键字和static关键字
- final关键字和static关键字
- final 关键字 和 static 用法
- final 关键字 和 static 用法
- J2EE模拟考试题
- git命令
- leetcode解题方案--019--Remove the End of Node of List
- Qt 数据库编程
- 4.预测模型,马尔可夫链
- 关键字 static和final
- day11
- 1242 斐波那契数列的第N项(矩阵快速幂)
- Idea自动更新JSP页面
- XRecyclerView的使用
- golang基础-函数是变量、自定义type、命名返回值、可变参、defer、匿名
- 泛型相关
- 用JS实现千分位分隔符
- C++中设定线性表的大小(单链表描述)