JAVA中遇到的一些异常

Exception in thread “main” java.lang.StackOverflowError
  • 栈溢出问题,原因在于我 new 的两个LoginJFrame() 之间相互引用了

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
  • 出现了空指针,原因在于我在为了持有整个重写的JFrame的引用时,new 的DJFrame()的对象名与录入书籍里的AddJFrame()里new 的对象名相同,调用的时候调成了这个,出现空指针。
  • 命名一定要注意

Resource leak: ‘stu’ is never closed

  • 养成良好习惯加个
    try{

    }finally{
        stu.close;   
    }

The static method addstudent(StudentModel) from the type AddStudent should be accessed in a static way

  • static修饰的方法直接用类.方法调用就行,不需new个对象调用

Unhandled exception type Exception

  • 加try catch

序列化的问题

The serializable class XXX does not declare a static final serialVersionUID field of type long的警告
  • 可序列化的类 xxx 未声明类型为 long 的静态终态 serialVersionUID 字
  • 序列化简单来讲就是一种用来处理对象流的机制
  • serialVersionUID 用来表明类的不同版本间的兼容性。如果修改了此类, 要修改此值。否则以前用老版本的类序列化的类恢复时会出错。

  • 一个类实现了Serializable接口,需要定义serialVersionUID

  • 加个 private static final long serialVersionUID num(一个数值);
  • 以下序列化机制的解决方案:
    1.保存到磁盘的所有对象都获得一个序列号(1, 2, 3等等)
    2.当要保存一个对象时,先检查该对象是否被保存了。
    3.如果以前保存过,只需写入”与已经保存的具有序列号x的对象相同”的标记,否则,保存该对象 通过以上的步骤序列化机制解决了对象引用的问题!

你可能感兴趣的:(java基础学习)