A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cuculidae 中级黑马   /  2016-2-18 23:51  /  859 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

fianl修饰的变量被曾为常量
那么如果我在定义final的时候不给它赋值
而在静态代码块中给它赋值可以吗?

4 个回复

倒序浏览
yuchifeifan 来自手机 中级黑马 2016-2-19 00:04:56
沙发
cuculidae 发表于 2016-2-18 23:51
fianl修饰的变量被曾为常量
那么如果我在定义final的时候不给它赋值
而在静态代码块中给它赋值可以吗?

可以 没问题只不过得修饰为静态的
回复 使用道具 举报
final修饰局部变量时既可以在定义时候指定默认值,也可以不指定,在后面指定,但只能一次。fainl修饰的变量变成常量放到常量池中,而static静态代码块进入主方法区

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
qianxin 发表于 2016-2-19 00:42
final修饰局部变量时既可以在定义时候指定默认值,也可以不指定,在后面指定,但只能一次。fainl修饰的变 ...

我觉的不可以再静态代码块中显示,静态代码块在类中方法外,public class demo1_t {
       
                public static void main(String[] args) {
                        fianl int x ;
                        }
                static {
                        x = 10;
                       
                }
        }
你用editplus和eclipse测试一下,看看

评分

参与人数 1黑马币 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
可以,但只能赋值一次。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马