これは不可能かもしれませんが、保護された修飾子のほぼ逆のロジックである、スーパー クラスを共有するクラスのみがアクセスできるコンストラクタを作成しようとしています。これを直接達成するための修飾子はないと思いますが、私が達成しようとしていることを知っているので、何か提案はありますか?
public Account extends SomeEntity {
//default public
public Account() {
}
// I am wanting this constructor to be only available to sibling classes.
// (those that share the same super class )
<modifier> Account(Element accountElement) {
}
}
public Accounts extends SomeEntity {
private List<Account> accountList;
//default public
public Accounts() {
Account newAcct = new Account(element);
//looped loading up Generic list of Account
this.accountList.add(newAcct);
}
私はRESTful Webサービスで作業しており、XML応答からオブジェクトを構築しています。問題はGET
、アカウントのリストである場合、それをアカウントオブジェクトのリストに構築するには、個々のアカウントごとにWebサービスを照会する必要があることです.すでに情報を持っていますが、それはまったく非効率的です。
しかし
私が構築している API の一般ユーザーに、この方法でアカウント オブジェクトをインスタンス化できるようにしたくありません。(とElement
)