Java声明一个变量然后初始化它。
public class TestVariableDeclaration{ int j; // ERROR j=45; // ERROR static{ int k; k=24; } { int l; l=25; } void local(){ int loc; loc=55; } }
- 在上面为什么我不能声明变量“j”然后直接在类下初始化
- 我可以在Method,Static / Instance初始化块下以相同的方式声明然后初始化吗?
- 有什么不同,我知道Java不支持声明然后初始化实例变量这一事实。 这背后的原因是什么?
- 你可以在类级别声明int j = 45; 如Subhrajyoti Majumder所述
- k是一个特殊的函数/方法,称之为静态初始化器。 它在加载类时执行。 k仅在此方法中已知
- l是一个在类实例化时执行的特殊方法。 l仅在此方法中已知。
这是非常基本的java东西。
(编辑:错别字)
在正常情况下声明变量之前,不能使用变量。 所以
j=45;
在顶部将失败,因为尚未宣布j
。
除非我没有得到你的问题,否则这很可能:
class SomeClass { int j; // declare it { j=45; // initialize it } }
或者更简洁:
class SomeClass { int j = 45; // declare and initialize }
为什么不简单地初始化并像这样声明它 – > int j=45;
? 它对我有用..