我熟悉C#,现在学习Java中的静态类。 在下面的代码中,我假设如果staticClass构造函数已在启动时初始化。但事实并非如此。在主要方法中调试光标到第一个循环的断点时。我收到一个错误“staticClass not loaded”。 问题:有没有一种方法可以在main方法执行之前执行静态类构造函数?或为什么它没有加载?类似的静态类在启动时加载到C#中。但在Java?认为这是一个不工作的代码。
我的一些代码的工作是这样的: class A
{
static SomeClass a = new Someclass("asfae");
}
SomeClass的包含所需的构造。 此编译的代码没有任何警告。但是,我在系统中获取代码的危害: 系统 此代码的危险部分“的SomeClass的构造函数已经从静态构造函数和/或 静态初始化器被称为”只是使它变得更好警告系统中可能存在的缺陷
这两个代码块是否做同样的事情? class A {
public static int s;
A(){}
static A(){s = 100;}
}
和 class A {
public static int s=100;
A(){}
//static A(){s = 100;} do not use
}
他们做同样的事情?
请注意更新,我的问题没有明确阐述。对不起。 让我们假设我们有下面的代码: class Foo extends/implements AnAbstractClass/AnInterface { /* to make sure the constructor with int as input is implemented */
Foo(int magicInt) { magicInt +