2017-01-27 15 views
-3
connection con = DriverManager getconnection(URL,user,pwd); 

これはどのように可能ですか? ここで接続はインターフェイス、インターフェイスオブジェクトを作成し、そのオブジェクト静的メソッドを割り当てるか?

どのようにインターフェイスのオブジェクトを作成できますか?

その後、接続のオブジェクトDriverManagerクラスの静的メソッドgetconnectionを割り当てています。 これはどのように機能しますか? ビット上記のコードは可能であるならば、次は動作するはずその後、

を混乱させるが、それは私が

interface h 
{ 
public int r=7; 
public void set(int u); 
} 

class A implements h 
{ 
public static int t=6; 
int y=6; 

public static void get() 
{ 
    System.out.println(t*8); 
} 

public void set(int u) 
{ 
    System.out.println(y*u);  
} 
} 

class S_tatic 
{ 
public static void main(String arg[]) 
{ 

    h l= new h();      // it shows me error 

    h l = A.get();     //if this can be done then what's                                                     

            //meaning of static ? 
} 
} 

は今、なぜ私はここにインタフェースのオブジェクトを作成することはできませんエラー示し?

と、我々は

は、私たちは次のように行くべきだと思います任意のメソッドにオブジェクトを割り当てることができますどのように、インターフェイスオブジェクトを作成すると言う、

l.set(); //非静的メソッドの場合

A.get(); //静的メソッドの場合

これが真の場合は、ここに含まれる最初のjdbc構文がどのように機能するのですか?

+0

インターフェイスはインスタンス化できません。インターフェイスを実装するクラスのオブジェクトの参照としてのみ使用できます。 –

+0

[What Is an Interface?](https://docs.oracle.com/javase/tutorial/java/concepts/interface.html)および[Interfaces](https://docs.oracle.com)から始めてください。 /javase/tutorial/java/IandI/createinterface.html)。インターフェイスはポリモーフィズムの基礎です。詳細については、 – MadProgrammer

+0

を参照してください。インターフェイスとは、特定の実装が何を行うことができるか、または提供するものであることを意味する契約です。つまり、インターフェイスが物理的にどのように実装されている場合は、指定されたインタフェース契約に「従っている」 – MadProgrammer

答えて

0

インターフェイスに関する主なルールは1つだけです:new InterfaceName()で初期化することはできません。

ここで、このコードはそのルールに違反していますか?

Connection con = DriverManager.getconnection(URL,user,pwd); 

あなたもnewそこに言葉を見つけることができます(私はそれがより良い探して作ってそれを変更しましたか)?いいえ!つまり、ルールに違反していないのでコンパイルされます。

はのは、あなたのコードを見てみましょう:mainnew h()の最初の行で

public static void main(String arg[]) 
{ 

    h l= new h(); 

    h l = A.get(); 
} 

見て!あなたはルールに違反しました!したがって、コンパイルされません。 (第2のラインはまたところでget戻りvoidためにコンパイルすることができない)

実際に、DriverManager.getConnection方法では、このようないくつかのコードを含むかもしれない:XXXConnectionConnectionを実装するクラスである

Connection con = new XXXConnection(); 

を。

0

インターフェイスは、言葉が現実世界のコンテキストであるかどうかを抽象化する方法を示します。

私はあなたが一度だけのJava参照のインタフェースの概念を通過することをお勧め:リファレンスからhttps://docs.oracle.com/javase/tutorial/java/concepts/interface.html

: その最も一般的な形では、インターフェースは空の機関と関連メソッドのグループです。次のように自転車の行動は、インターフェイスとして指定されている場合、表示されることがあります。

簡単な言葉で
interface Bicycle { 

    // wheel revolutions per minute 
    void changeCadence(int newValue); 

    void changeGear(int newValue); 

    void speedUp(int increment); 

    void applyBrakes(int decrement); 
} 

あなたは私たちが自転車インタフェースを介して何をするかを指定言えば。しかし、例えば、 RangerBicycleまたはMountainBicycleは、インターフェイスで定義された動作のリアルタイムエンティティまたはオブジェクトを定義します。

「インターフェイスをインスタンス化しようとしている間に、コンパイラは、インターフェイスであるため、指定された型をインスタンス化できないというエラーメッセージを表示します。

はい、実装クラスのオブジェクトを指すことができるインタフェース参照変数を作成できます。

関連する問題