NetBeans 写java数据报空指针,如何解决

源码
ublic class NewJFrame extends javax.swing.JFrame {

/**
 * Creates new form NewJFrame
 */
public NewJFrame() {
    initComponents();
     showInfo();

}
public void showInfo(){
DBC myDB=new DBC();
    ResultSet rs=null; 
    try{
String str="select *from student";
Statement st=myDB.getCon().createStatement();
rs=myDB.getSt().executeQuery(str);
while(rs.next()){
    
  String num=rs.getString("num");
            String name=rs.getString("name");
           String sex=rs.getString("sex");
           String tel=rs.getString("telephone");
         
this.jTextArea1.append(num+"\t"+name+"\t"+sex+"\t"+tel+"\n");
}

}catch(Exception e){
       e.printStackTrace();
    }
    myDB.free();
}

错误
java.lang.NullPointerException
at 条件.NewJFrame.showInfo(NewJFrame.java:31)
at 条件.NewJFrame.(NewJFrame.java:23)
at 条件.NewJFrame$3.run(NewJFrame.java:288)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
成功构建 (总时间: 5 秒)

showInfo(NewJFrame.java:31)
31行代码处报错
空指针异常是因为当前对象为空时调用了方法导致的