2012-04-04 3 views
-2
다음과 같이 내가이 개 수업을 만들었습니다

...Java를 사용하여 다른 클래스의 한 클래스 변수에 액세스하는 방법은 무엇입니까? 이러한 클래스의

public class A extends JFrame { 
    public String x = "abcdefg"; 
} 

public class B extends JFrame { 
    public String y; 
} 

모두 JFrame을 확장합니다. String yClass BString x의 값을 상속받을 수있는 방법이 Class A에 있는지 궁금합니다. x 또는 y 중 하나를 업데이트하면 다른 String도 업데이트됩니다.

2 개의 클래스에서 공통적으로 사용할 수있는 문자열이 있습니까?

답변

2

그냥 클래스 B는 A를

public class A extends JFrame { 

} 

public class B extends A { 

} 

을 확장 할 수 있도록하지만, TBH, 우리 모두가 공공 필드가 끔찍한 아이디어라고 생각합니다!

+0

그러면 public 대신 protected로 설정하십시오. – Churk

0

나는 같은 것을 할 것입니다 ..

class a 
{ 
    private String aVal = "abc"; 

    public String returnAVal(){ 
     return aVal; 
    } 
} 

class b extends a 
{ 
    private String y = returnAVal(); 

    public void testY(){ 
     System.out.println(y); 
    } 
} 

는 도움이되기를 바랍니다.

0

PhilNerd 그것은 하나의 varibale.check LSP을 위해 상속을하는 것은 좋은 생각이 아니다.

비공개로 설정하고 세터와 게터에게 액세스하십시오.

관련 문제