gpt4 book ai didi

java - 为什么我不能在方法之外进行赋值?

转载 作者:IT老高 更新时间:2023-10-28 20:51:05 26 4
gpt4 key购买 nike

如果我尝试为类中的变量赋值,但在方法之外我会收到错误。

class one{
Integer b;
b=Integer.valueOf(2);
}

但是,如果我在创建过程中对其进行初始化,它就可以工作。

class one{
Integer b=Integer.valueOf(2);
}

在方法内部,这两种情况都有效。

最佳答案

你需要做的

class one{
Integer b;
{
b=Integer.valueOf(2);
}
}

as 语句必须出现在代码块中。

在这种情况下,该 block 是一个初始化程序 block ,它被添加到每个构造函数(或在这种情况下为默认构造函数)它在对 super() 的任何调用之后和主 block 之前运行任何构造函数中的代码。

顺便说一句:你可以有一个带有 static { } 的静态初始化 block ,它在类初始化时被调用。

例如

class one{
static final Integer b;

static {
b=Integer.valueOf(2);
}
}

关于java - 为什么我不能在方法之外进行赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12062481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com