我有2類A和B如何轉移設置類的變量?
class A{
private int a=0;
A(){
B b = new B();
}
}
class B{
void set(){
???
}
}
欲對象b組可變的一類A的,如何實現它???
我有2類A和B如何轉移設置類的變量?
class A{
private int a=0;
A(){
B b = new B();
}
}
class B{
void set(){
???
}
}
欲對象b組可變的一類A的,如何實現它???
由於a
類A
是私人的,它應該總是通過一些方法A
訪問。
class A{
private int a=0;
A(){
B b = new B();
b.set(this);
}
public void change(int f){
a= f;
}
}
class B{
void set(A x){
x.change(5); // or any pass value
}
}
謝謝你,我使用你的代碼和一些改變,它的工作 –
總是記得一個類的私人成員只能通過該類的方法改變。感謝接受。 –
你必須在一個私有變量的A類寫getter和setter方法。
class A{
private int a=0;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
A(){
B b = new B();
}
}
class B {
public int b = 0;
void set(){
A a = new A();
b = a.getA();
}
}
類'B'的'set'方法不被調用。問題是如何通過類'B'的'set'方法改變'A'類的'a'。 –
我想你想改變設置方法中** a **的值。所以你調用a.setA(value)而不是getA()。 – THA
你已經在set方法中創建了一個不需要的新對象。您應該在set方法中傳遞當前對象的上下文,然後在class B的set方法中調用setA方法。 –
我做的是含有B類的對象一個JFrame,B中處理後有結果,我會轉院在類的JLabel –
通電流的JFrame對象的JFrame和打印結果'B'那麼你就可以訪問你的JLabel在'B'類中,並且可以設置JLabel。 –
也問問自己爲什麼B班必須改變A的變量?有時這可能意味着變量確實應該在B中,或者變量變量的方法應該在A中......或者A和B應該合併成一個類...... –