0

ここには静的な実装がありますが、理解できません。以前に静的を使用したことがありますが、広範囲に使用したことはありません。コードを理解するのに役立つ人はいますか。ここにコードがあります

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class Connection_Class {
String driver_ClassName="com.mysql.jdbc.Driver";
String URL_connection="jdbc:mysql://localhost:3306/vendor";
String user="root";
String password="lifesuckzz";
   //can anybody explain what the following line means, especially the static part.......
    private static Connection_Class connectionclass=null;

private Connection_Class(){
    try{
        Class.forName(driver_ClassName);

    }catch(ClassNotFoundException e){
        e.printStackTrace();
    }
}

public Connection getConnection() throws SQLException{
    Connection con=null;
    con=DriverManager.getConnection(URL_connection,user,password);
    return con;
}

public static Connection_Class getInstance(){
    if(connectionclass==null){
                 //I know its returning an instance here
        connectionclass=new Connection_Class();
    }
    return connectionclass;
}


}
4

4 に答える 4

5

static変数が、クラスのオブジェクトのメンバー (オブジェクトごとに 1 つ) ではなく、クラス自体のメンバー (1 つのコピーのみ) であることを意味します。staticオブジェクトがなくても変数にアクセスできます。この場合、呼び出して、プログラム全体で共有されるConnection_Class.getInstance()単一のオブジェクトを取得できます。Connection_Class

于 2013-05-28T09:35:14.417 に答える
2

Singleton Design Patternと呼ばれるデザインパターンです。

これは、システム全体でアクションを調整するために 1 つのオブジェクトだけが必要な場合に役立ちます。

http://en.wikipedia.org/wiki/Singleton_pattern

質問への回答:

シングルトンは、唯一のシングルトン インスタンスへの静的参照を保持し、静的 getInstance() メソッドからそのインスタンスへの参照を返します。

于 2013-05-28T09:33:04.787 に答える
1

これはシングルトンパターンの例です。アプリ内 (厳密に言えば、クラスローダー内) に接続クラスの参照を1 つ作成します。

シングルトンは、多くの OO 言語でかなり一般的なパターンですが、テストが困難になるため、アンチパターンと見なされることがよくあります。

于 2013-05-28T09:32:54.240 に答える