java.lang.NullPointerException如何修复

java.lang.NullPointerException如何修复,java,Java,这是连接池的一个示例。我想我已经初始化了所有对象,但是我得到了空指针异常。我怎样才能解决这个问题 package hello; public class C { public static void main(String[] args) { CConnectionManager con=new CConnectionManager(); CConnection conn=new CConnection(); conn=con.GetConnection(

这是连接池的一个示例。我想我已经初始化了所有对象,但是我得到了空指针异常。我怎样才能解决这个问题

package hello;

public class C {

 public  static void  main(String[] args) {
     CConnectionManager con=new CConnectionManager();
     CConnection conn=new CConnection();
     conn=con.GetConnection();

 }

 public static class CConnectionManager {
  private static final int MaxConSize=10;
  private CConnection[] connections ;
  {
  connections=new CConnection[MaxConSize];
  }


  public CConnection GetConnection(){
   for(int i=0;i<connections.length;i++){
    if(1==connections[i].status){
     continue;
    }
    else if(0==connections[i].status){
     connections[i].status=1;
     connections[i].pos=i;
     return connections[i];
    }
   }

   System.out.println("No connection available,Please wait");
   return null;
  }


  public void CloseConnection (CConnection con){

      if(-1==con.pos||0==con.pos){
          System.out.println("No such connection");
      }
      else
          connections[con.pos].status=0;
  }

  public void execute(String sql){

       System.out.println(sql);
      }
}



 public static class CConnection  {
  private int status=0;
  private int pos=-1;


 }

 }






Exception in thread "main" java.lang.NullPointerException
    at hello.C$CConnection.access$0(C.java:55)
    at hello.C$CConnectionManager.GetConnection(C.java:22)
    at hello.C.main(C.java:8)
包你好;
公共C类{
公共静态void main(字符串[]args){
CConnectionManager con=新的CConnectionManager();
CConnection conn=新CConnection();
conn=con.GetConnection();
}
公共静态类CConnectionManager{
专用静态最终整数MaxConSize=10;
专用CConnection[]连接;
{
连接=新的CConnection[MaxConSize];
}
公共CConnection GetConnection(){

对于(int i=0;i您正在声明一个包含10个
CConnection
connections=new CConnection[MaxConSize];
)的数组,但数组中的元素实际上为空

所以在执行时:
if(1==connections[i].status)
它抛出一个
NPE

要修复它,请在构造函数中实例化
CConnection
对象:

private CConnection[] connections;

public CConnectionManager (){
   connections=new CConnection[MaxConSize];
   for(int i = 0; i < connections.length; i++){
        connections[i] = new CConnection();
   }
}
privateConnection[]连接;
公共CConnectionManager(){
连接=新的CConnection[MaxConSize];
对于(int i=0;i
您正在声明一个包含10个
CConnection
connections=new CConnection[MaxConSize];
)的数组,但数组中的元素实际上为空

所以在执行时:
if(1==connections[i].status)
它抛出一个
NPE

要修复它,请在构造函数中实例化
CConnection
对象:

private CConnection[] connections;

public CConnectionManager (){
   connections=new CConnection[MaxConSize];
   for(int i = 0; i < connections.length; i++){
        connections[i] = new CConnection();
   }
}
privateConnection[]连接;
公共CConnectionManager(){
连接=新的CConnection[MaxConSize];
对于(int i=0;i
您正在声明一个包含10个
CConnection
connections=new CConnection[MaxConSize];
)的数组,但数组中的元素实际上为空

所以在执行时:
if(1==connections[i].status)
它抛出一个
NPE

要修复它,请在构造函数中实例化
CConnection
对象:

private CConnection[] connections;

public CConnectionManager (){
   connections=new CConnection[MaxConSize];
   for(int i = 0; i < connections.length; i++){
        connections[i] = new CConnection();
   }
}
privateConnection[]连接;
公共CConnectionManager(){
连接=新的CConnection[MaxConSize];
对于(int i=0;i
您正在声明一个包含10个
CConnection
connections=new CConnection[MaxConSize];
)的数组,但数组中的元素实际上为空

所以在执行时:
if(1==connections[i].status)
它抛出一个
NPE

要修复它,请在构造函数中实例化
CConnection
对象:

private CConnection[] connections;

public CConnectionManager (){
   connections=new CConnection[MaxConSize];
   for(int i = 0; i < connections.length; i++){
        connections[i] = new CConnection();
   }
}
privateConnection[]连接;
公共CConnectionManager(){
连接=新的CConnection[MaxConSize];
对于(int i=0;i