2016-09-17 8 views
0

私が持っているインタフェース:その後、私はのように私のインターフェイスを実装するクラスを持っているjavaでそれを実装するクラスによって、インタフェースの変数の値を変更するには?

public interface Myglobal 
{ 
public int Type =0; 
} 

:...私はevreyクラスにしたい

Public class A implements Myglobal 
{ 
Public class A() 
{ 
this.type=1; // here error because type final in interface 
} 
} 

は、変数の型の値を変更するためのインタフェースを実装するので、どのようにIそれはjavaでできますか?

答えて

0

あなたは何をしようとしているのかを達成するために抽象クラスを使うべきだと思うのですが、インタフェースは変更可能な値を持つことはできません。また、インタフェースのインスタンスを作成しないので静的になります。

また、値を操作するためにgetter/setter関数を使用します。

public abstract class Myglobal 
{ 
    private int Type =0; 

    public void setType(int type) { 
     this.Type = type; 
    } 

    public int getType() { 
     return this.Type; 
    } 
} 

public class A extends Myglobal 
{ 
    public class A() 
    { 
     this.setType(1); 
    } 
} 
+1

わかりましたので、インタフェースを抽象クラスに置き換える必要があります...ありがとう – sara

関連する問題