猿问

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

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

如果我试图为类中的变量赋值,但在方法之外,则会得到一个错误。

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

但是,如果我在创建过程中初始化它,它就能工作。

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

在一个方法中,它在两种情况下都有效。


繁星点点滴滴
浏览 526回答 3
3回答

拉莫斯之舞

你需要做的class one{  Integer b;  {     b=Integer.valueOf(2);  }}语句必须出现在代码块中。在本例中,该块是一个initailiser块,它被添加到每个构造函数(本例中是默认构造函数),它在调用super()在任何构造函数的主代码块之前。顺便说一句:您可以有一个静态初始化块static { }类初始化时调用。G.class one{  static final Integer b;  static {     b=Integer.valueOf(2);  }}

慕沐林林

因为赋值是陈述和陈述被允许只在里面代码块(方法、构造函数、静态初始化器等)在这些声明之外,只允许声明。这是:  class one{         Integer b=Integer.valueOf(2);   }是带有初始化项的声明。这就是为什么被接受的原因

阿晨1998

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

相关分类

Java
我要回答