0

私はプライベートメンバーint myMemberを持つクラスAを持っています。そして、myA と呼ばれるクラス A のプライベート メンバーを持つクラス B。

あれは:

public class A{
    private int myMember;
    ...
}

public class B{
    private A myA;

}

アクセスできるようにしたい:

B.myA.myMember;

しかし、myMember は A でプライベートであるため、できないようです。問題は、演習の目的で A をプライベートとして定義する必要があることです (保護できないことも含まれます)。これを回避する方法はありますか?

ありがとう。

4

4 に答える 4

6
public class A {

private int myMember;

public int getMyMember() {
    return myMember;
}

public void setMyMember(int myMember) {
    this.myMember = myMember;
}

}


public class B{

private A myA;

public B() {
    myA = new A();
    myA.setMyMember(0);
    int a = myA.getMyMember();
}
}
于 2013-09-08T19:02:06.220 に答える
3

ゲッターを使用します:

public class A {
    private int myMember;
    public getMyNumber() {
        return myNumber;
    }
}

public class B {
    private A myA;
    public A getA() {
        return myA;
    }
}

したがって、次のようにコーディングできます。

B b = new B(); 
b.getA().getMyMember();
于 2013-09-08T19:02:35.757 に答える
1

プライベート フィールドstaticとして宣言できる場合、次のようなことが可能です。

public class A {
    private int myMember;
}

public class B {
    public static void main (String[] args) {
        int myMember = new A() {
            public int getPrivate() {
                return myMember;
            }
        }.getPrivate();
        System.out.print("\n\t Id : " + myMember);
    }
}
于 2013-09-09T06:00:16.707 に答える