JAVAで遭遇したいくつかの異常

1585 ワード

Exception in thread “main” java.lang.StackOverflowError
  • スタックオーバーフローの問題は、私のnewの2つの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など)が1つ取得されます.オブジェクトを保存する場合は、オブジェクトが保存されているかどうかを確認します.3.以前に保存した場合は、「保存したシリアル番号xを持つオブジェクトと同じ」というタグを書き込むだけで、そうでなければ、保存したオブジェクトは以上の手順でシーケンス化メカニズムによってオブジェクト参照の問題を解決します.