静态变量初始化java [英] static variable initialization java

查看:114
本文介绍了静态变量初始化java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在java中初始化类的私有静态成员。

how to initialize a private static member of a class in java.

尝试以下操作:

public class A {
   private static B b = null;
   public A() {
       if (b == null)
         b = new B();
   }

   void f1() {
         b.func();
   }
}

但是在创建A类的第二个对象时然后调用f1(),我得到一个空指针异常。

but on creating a second object of the class A and then calling f1(), i get a null pointer exception.

推荐答案

初始化静态成员的首选方法是(如上所述)之前)

The preferred ways to initialize static members are either (as mentioned before)

private static final B a = new B(); // consider making it final too

或者对于更复杂的初始化代码,您可以使用静态初始化程序块:

or for more complex initialization code you could use a static initializer block:

private static final B a;

static {
  a = new B();
}

这篇关于静态变量初始化java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆