2017-03-21 3 views
0

私はLeenという名前のインターフェイスを作成し、このインタフェースを実装するクラスのXを作成したが、私はx Javaでインタフェースを型として使用するにはどうすればよいですか?

このような
Leen x; 
x.printname(); 

という名前の変数を作成するために、メインクラスに行くと、コンパイラは私にエラーを与えています

+0

'x = new LeenImpl();'のような行はありますか? –

+2

このコードでは、 'p'という変数がないので、そうではありません。しかし、 'x'は初期化されていない可能性があり、そうです。しかし、これはインターフェイスとは関係ありません。 'String x;と書いても同じ問題が発生します。 x.length(); ' –

+1

あなたのコードでは、' x'は* class *ではないことに注意してください。これは変数です。インターフェイスを実装するために「クラスx」を作成したとします。これはあなたが示したものではありません。混乱を避けるために[mcve]を入力してください。 –

答えて

0

実装しないでインターフェイスを使用することはできません。実装は、あなたのインタフェースを実装する具象クラスまたは抽象クラスにすることができます。あなたのコードに基づいて、明らかにあなたのインターフェイスのための実装はありません。また、変数pをどこで使用したのかよく分かりません。親切に私たちがあなたを助けることができるようにクラス全体を提供してください。

+0

私はこのクラスを持っているa)メインクラスb)インターフェイスは、私のインターフェイスのokeyを実装していますか?私は主なクラスに移動し、私は文字列xまたはint zのようなこのApp Myvarのように使用するクラス名のアプリケーションから変数を作成しようとすると問題?私はそれをどのようにすることができますか? –

+0

注:私のクラスのアプリケーションでは、私はインターフェイスからの実装を持っています..それは、私の名前のプリントに関するメソッドの応答のためのオーバーライドを行うことを意味します –

0

変数をインスタンス化せずに変数にアクセスしたい場合は、変数を静的にクラス内に設定できます。 Appはurクラス名で、xyzはurインターフェイスです。

class App implements xyz{ 
    public static int x; 
    public static void printme(){ 
     //Your code goes here... 
    } 

} 

今uは変数を宣言したが、決してそれはまだexsistし​​ないという意味、それをインスタンス化していないからだと、先に述べたように

App app= null; 
app.x= 6; 
app.printme(); 
+0

Ok Muraliオブジェクトを作成する必要はありません.. int x文字列sとメソッドの例を呼び出す:Myclass V;どのように私はそれを行うことができますか? –

+0

次に、あなたのクラスで静的型にアクセスしたいメソッドまたは変数を作成してください。@ SaifAl-Bashiti –

+0

あなたは、整数のクラスと別のクラス(double、float)で静的な実行可能性を使用していますか?すべてのユーザーがオブジェクトを作成するために必要なクラスを使用できるようにするには? –

0

ようウルmainclassからそれにアクセスすることができ、それがためだけのプレースホルダです宣言で定義されたタイプは、何をする必要が

​​

今インタフェースを使用しているためで、インターフェイス上のすべての機能が利用可能ですが、コードは、使用しようとしますインタフェースを実装したどのクラスでもインプリメントされています

なぜこのスマートなのですか?あなたがList<Leen>を残しているとしたら、リストのすべての要素は、Leenの実装に関係なく、Leenの関数を使用できます

+0

私はdouble zのようなインターフェースからデータ型を定義する必要があります...ここではdoubleからインスタンスを作成する必要はありませんクラスはwriteクラス名と変数 –

+0

を書くだけです。単純に実装にsetx()とgetx()を実装し、次にxが格納され、getx()とsetx ) また、インターフェイスやその他の抽象クラスは、実装および初期化されていない限り、アクセスが不可能です – Mikenno

関連する問題