相关疑难解决方法(0)

"Class.forName()"和"Class.forName().newInstance()"有什么区别?

Class.forName()和之间有什么区别Class.forName().newInstance()

我不明白这个显着的区别(我已经读过一些关于它们的东西!).请你帮助我好吗?

java class

161
推荐指数
5
解决办法
27万
查看次数

Java枚举与具有公共静态最终字段的类相比有什么优势?

我对C#非常熟悉,但开始在Java中工作更多.我希望得知Java中的枚举基本上与C#中的枚举相同,但显然情况并非如此.最初,我很高兴得知Java枚举可能包含多个数据,这似乎非常有利(http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html).但是,从那时起我发现C#中缺少许多功能,例如能够轻松地为枚举元素分配特定值,以及因此无需花费大量精力就能将整数转换为枚举(即整数值转换为相匹配的Java枚举).

所以我的问题是:对于带有一堆公共静态最终字段的类,Java枚举是否有任何好处?或者它只提供更紧凑的语法?

编辑:让我更清楚.Java枚举对于具有相同类型的一组公共静态最终字段类有什么好处?例如,在第一个链接的行星示例中,枚举对具有这些公共常量的类有什么好处:

public static final Planet MERCURY = new Planet(3.303e+23, 2.4397e6);
public static final Planet VENUS = new Planet(4.869e+24, 6.0518e6);
public static final Planet EARTH = new Planet(5.976e+24, 6.37814e6);
public static final Planet MARS = new Planet(6.421e+23, 3.3972e6);
public static final Planet JUPITER = new Planet(1.9e+27, 7.1492e7);
public static final Planet SATURN = new Planet(5.688e+26, 6.0268e7);
public static final Planet URANUS = new Planet(8.686e+25, 2.5559e7);
public static final Planet NEPTUNE = …
Run Code Online (Sandbox Code Playgroud)

java enums

134
推荐指数
10
解决办法
11万
查看次数

coffeescript中的静态类和方法

我想在coffeescript中编写一个静态帮助器类.这可能吗?

类:

class Box2DUtility

  constructor: () ->

  drawWorld: (world, context) ->
Run Code Online (Sandbox Code Playgroud)

使用:

Box2DUtility.drawWorld(w,c);
Run Code Online (Sandbox Code Playgroud)

coffeescript

86
推荐指数
1
解决办法
3万
查看次数

Java中的静态块与初始化程序块?

可能重复:
静态初始化块

请考虑以下代码:

public class Test {
    {
        System.out.println("Empty block");
    }
    static {
        System.out.println("Static block");
    }
    public static void main(String[] args) {
        Test t = new Test();
    }
}
Run Code Online (Sandbox Code Playgroud)

我们知道首先执行静态块,然后执行块.但问题是我从来没有能够理解块的实际效用.任何人都可以展示一个真实的例子 -

  • 无论静态正在使用的块
  • 无论静态块具有不同的事业

java static-block initialization-block

79
推荐指数
2
解决办法
7万
查看次数

在使用Java运行构造函数代码之前是否初始化了字段?

任何人都可以解释以下程序的输出吗?我认为构造函数在实例变量之前被初始化.所以我期待输出为"XZYY".

class X {
    Y b = new Y();

    X() {
        System.out.print("X");
    }
}

class Y {
    Y() {
        System.out.print("Y");
    }
}

public class Z extends X {
    Y y = new Y();

    Z() {
        System.out.print("Z");
    }

    public static void main(String[] args) {
        new Z();
    }
}
Run Code Online (Sandbox Code Playgroud)

java constructor initialization

65
推荐指数
3
解决办法
2万
查看次数

Java中静态块的必要性

我发现在Java中,有一个叫做的功能static block,它包括在第一次加载类时执行的代码(我不明白'加载'意味着什么,它是否意味着初始化?).是否有任何理由在静态块内而不是在构造函数中执行初始化位?我的意思是,即使构造函数做同样的事情,在第一次初始化类时也要做所有必要的事情.什么是静态块完成哪些构造函数不能?

java static initialization

48
推荐指数
5
解决办法
3万
查看次数

Java枚举valueOf()有多个值?

我在使用Enums的Java中遇到了问题.我已阅读有关为Enums分配值参数的文档.但是,我的问题是多值的问题,是否可能?

这就是我想要实现的:我有一个语言枚举.每种语言都由其名称和一些较短的别名表示(并非总是如此,并且并不总是相同的别名数)

这是一个例子:

public enum Language{
English("english", "eng", "en", "en_GB", "en_US"),
German("german", "de", "ge"),
Croatian("croatian", "hr", "cro"),
Russian("russian")
}
Run Code Online (Sandbox Code Playgroud)

我可以像这样定义一个枚举,并通过调用Language.valueOf()获得正确的枚举值吗?

java enums

45
推荐指数
2
解决办法
7万
查看次数

我可以在Java中用构造函数调用方法吗?

我有情况,我想在实例化类时只读取一次配置文件.

假设我有一个名为的方法readConfig(),它读取配置并将其放入Map对象中.当程序需要使用配置值时,它会使用它的define键读取对象.我想知道构造函数只调用它的生命周期.我可以将我的方法readConfig()放入构造函数中,这会给我一次性调用的好处,还是有其他机制可以做到这一点?

java constructor

45
推荐指数
3
解决办法
10万
查看次数

Java静态代码块

我注意到最近在很多项目中,我都注意到了

static {
    //some code here
}
Run Code Online (Sandbox Code Playgroud)

我只是在寻找一些关于此的信息,特别是我习惯于在方法中使用的代码块,或者只是类,这只是用静态修饰符设置块中的所有代码,还是有更多的东西给它?

java

16
推荐指数
1
解决办法
2万
查看次数

Spring:为什么在Java中存在静态和非静态初始值设定项时需要InitializingBean的afterPropertiesSet()?

我曾经习惯afterPropertiesSet()在Spring bean中初始化类属性.现在我看到这个任务可以通过Java的内置静态和非静态初始化器来完成.我能做些什么我afterPropertiesSet()不能使用初始化程序块?

java spring spring-mvc

12
推荐指数
1
解决办法
3万
查看次数