javaee论坛

普通会员

225648

帖子

341

回复

355

积分

楼主
发表于 2019-10-30 13:36:53 | 查看: 76 | 回复: 2

前言对Static、final、Staticfinal这几个关键词熟悉又陌生?想说却又不知怎么准确说出口?好的,本篇博客文章将简短概要出他们之间的各自的使用,希望各位要是被你的面试官问到了,也能从容的回答…

static

加载:static在类加载时初始化(加载)完成

含义:Static意为静态的,但凡被static修饰说明属于类,不属于类的对象。

可修饰:Static可以修饰内部类、方法、成员变量、代码块。

不可修饰:Static不可修饰外部类、局部变量【static属于类的,局部变量属于其方法,并不属于类】

注意:static方法不能兼容this关键字【static代表类层次,this代表当前类的对象】

引发问题:构造方法是静态方法吗?【不是,构造方法可以有this】

static主要作用:方便调用没有创建对象的方法/变量。

关于static,博主特地写了一篇博客,如果对final概念不是特别清晰,大家可以看看

程序员你真的理解static吗?

final

加载:final可以在编译(类加载)时初始化,也可以在运行时初始化,初始化后不能被改变。

可修饰:类、内部类、方法、成员变量、局部变量、基本类型、引用类型。

含义:final“最终的”的意思,在Java中又有意为常量的意思,也就是被final修饰的只能进行一次初始化!

被final修饰各种所蕴含的特殊意义:

1、final修饰基本类型:值不能被修改;

 

2、final修饰引用类型:引用不可以被修改也就是说不能指向其他对象,但是该引用的对象内容可以被修改;

 

3、final修饰方法,方法不可以重写,但是可以被子类访问【前提:方法不是private类型】。

 

4、final修饰类,类不可以被继承。

关于final,博主特地写了一篇博客,如果对final概念不是特别清晰,值得大家看看

程序员你真的理解final关键字吗?

Staticfinal

含义:从字面也可以知道,它代表Static与final二者的共同体。

可修饰:依旧是取二者的共同体,所以只能修饰成员变量、方法、内部类,被Staticfinal修饰意义分别如下:

1、成员变量:属于类的变量且只能赋值一次。

 

2、方法:属于类的方法且不可以被重写。

 

3、内部类:属于外部类,且不能被继承

本篇文章只是简短概要它们之间的使用,希望各位要是被面试官问到了,也能从容的回答…若有不正之处,希望谅解并欢迎批评指正。


普通会员

0

帖子

311

回复

322

积分
沙发
发表于 2022-12-24 21:20:52

不错

普通会员

0

帖子

306

回复

314

积分
板凳
发表于 2024-04-19 00:23:31

信春哥,得永生!

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017