为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我不能在方法之外做作业?

为什么我不能在方法之外做作业?

繁星点点滴滴 2019-06-13 17:52:53
为什么我不能在方法之外做作业?如果我试图为类中的变量赋值,但在方法之外,则会得到一个错误。class one{  Integer b;  b=Integer.valueOf(2);}但是,如果我在创建过程中初始化它,它就能工作。class one{  Integer b=Integer.valueOf(2);}在一个方法中,它在两种情况下都有效。
查看完整描述

3 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

你需要做的

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

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

在本例中,该块是一个initailiser块,它被添加到每个构造函数(本例中是默认构造函数),它在调用super()在任何构造函数的主代码块之前。

顺便说一句:您可以有一个静态初始化块static { }类初始化时调用。

G.

class one{
 static final Integer b;

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


查看完整回答
反对 回复 2019-06-13
?
慕沐林林

TA贡献2016条经验 获得超9个赞

因为赋值陈述陈述被允许只在里面代码块(方法、构造函数、静态初始化器等)

在这些声明之外,只允许声明。

这是:

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

是带有初始化项的声明。这就是为什么被接受的原因


查看完整回答
反对 回复 2019-06-13
?
阿晨1998

TA贡献2037条经验 获得超6个赞

在Java中,在定义类时,可以使用默认值定义变量并添加方法。任何可执行代码(例如赋值)都必须包含在方法中。


查看完整回答
反对 回复 2019-06-13
  • 3 回答
  • 0 关注
  • 525 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信