Tag: 静态方法

是第一次调用静态方法时自动创建的类的实例

我想知道你是否有一个只有静态方法的类,当你调用第一个静态方法时,是否会在某个地方创建一个类的实际实例? 这在内存管理方面有点令人困惑,因为您从未实际调用构造函数或显式创建方法的实例。 如果确实创建了一个实例,我想更好地了解这个实例的存在位置和持续时间。

使用静态私有方法真的比实例私有方法更快/更好吗?

我要问的是这样做是否有区别: public Something importantBlMethod(SomethingElse arg) { if (convenienceCheckMethod(arg)) { // do important BL stuff } } private boolean convenienceCheckMethod(SomethingElse arg) { // validate something } 和这个: public Something importantBlMethod(SomethingElse arg) { if (convenienceCheckMethod(arg)) { // do important BL stuff } } private static boolean convenienceCheckMethod(SomethingElse arg) { // validate something } 我实际上使用选项1,因为它对我来说似乎更自然。 那么第一种和第二种方式之间是否有样式/约定/性能差异? 谢谢, 正如我在测试中所建议的那样,在我的基准测试中,动态方法更快。 […]

静态方法总是加载到内存中吗?

假设我有一个带有一些“Utils”类的Java项目,并且那些类只有static方法和成员。 一旦我运行我的应用程序,这些方法和成员是否自动加载到内存中? 或者只有在我沿着代码调用类时才会发生? 编辑:一些示例代码来说明我的问题。 RandomUtils.java public class RandomUtils { private static Random rand = new Random(); public static int randInt(int min, int max) { // nextInt is normally exclusive of the top value, // so add 1 to make it inclusive return rand.nextInt((max – min) + 1) + min; } } MainClass.java public class MainClass […]

在java中调用静态方法

可能重复: 为什么在null引用上调用(静态)方法不会抛出NullPointerException? 任何人都可以解释为什么以下程序的输出被“ 调用 ” public class Test4{ public static void method(){ System.out.println(“Called”); } public static void main(String[] args){ Test4 t4 = null; t4.method(); } } 我知道我们可以使用类引用调用静态方法,但在这里我使用null引用调用。 请澄清我的疑问

all-static-methods和应用单例模式有什么区别?

我正在创建一个数据库来存储有关我网站用户的信息(我正在使用stuts2,因此使用Java EE技术)。 对于数据库,我将创建一个DBManager。 我应该在这里应用单例模式还是将所有方法设为静态? 我将使用此DBManager来添加,删除和更新用户配置文件等基本内容。 除此之外,我将用于所有其他查询目的,例如,查明用户名是否已经存在,并让所有用户出于管理目的和类似的东西。 我的问题 单身模式有什么好处? 哪个最适合这里? 所有静态方法还是单例模式? 请比较它们。 问候 shahensha PS数据库比这大。 这里我只讨论我将用于存储用户信息的表。

java接口中的静态方法

据我所知,你不能在接口体中声明静态方法。 但是,我不小心在http://docs.oracle.com/ site上找到了一些特殊的代码。 这是链接 Namelly public interface TimeClient { void setTime(int hour, int minute, int second); void setDate(int day, int month, int year); void setDateAndTime(int day, int month, int year, int hour, int minute, int second); LocalDateTime getLocalDateTime(); static ZoneId getZoneId (String zoneString) { try { return ZoneId.of(zoneString); } catch (DateTimeException e) { System.err.println(“Invalid time […]

不能访问封闭的类型实例。

整个代码是: public class ThreadLocalTest { ThreadLocal globalint = new ThreadLocal(){ @Override protected Integer initialValue() { return new Integer(0); } }; public class MyThread implements Runnable{ Integer myi; ThreadLocalTest mytest; public MyThread(Integer i, ThreadLocalTest test) { myi = i; mytest = test; } @Override public void run() { System.out.println(“I am thread:” + myi); Integer myint = […]

Java没有名称静态方法

这是什么? public class ABC { public ABC() { System.out.println(“world”); } static { System.out.println(“hello”); } } 将打印:你好世界 我真的不明白这个,或者静态代码是什么样的方法。

reflection:在静态方法中获取调用对象

是否有可能在此方法中获取调用静态方法的对象? 我有这个代码: class A{ static void foo(){ } } A a = new A(); a.foo(); 我可以在方法foo()获取实例吗?

静态方法中的generics

我需要在实用程序类中添加一个方法,其中包含一些静态方法,这些方法从JSON字符串中解析事物并返回一组数据。 问题是这些东西有各种各样的子类型,所以我创建了这个方法: public static E[] parseThingsFromJSON(String body) { return parser.fromJson(body, E[].class); } 调用者如何告诉这个方法E是什么? 或者有更好的方法吗?