2016-09-17 16 views
0

내가 가진 인터페이스 : 그럼 난 것처럼 내 인터페이스를 구현하는 클래스가자바에서 구현하는 클래스에 의해 인터페이스에서 변수의 값을 변경하는 방법은 무엇입니까?

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 
} 
} 

변수 유형의 값을 변경할 수있는 인터페이스를 구현 그래서 어떻게 자바와 함께 할 수 있습니까?

답변

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

관련 문제