-1

クラスをabstractとして宣言するか、プライベートコンストラクターまたは任意のメソッドを使用して、ユーザーがクラスのオブジェクトを作成することを制限します
しかし、私の疑問は、ユーザーがクラスの参照を作成することさえできないようにする方法
です たとえば:

 class emp
{
    int eno;
}
 class Test
{


    public static void main(String[] args)
    {
        emp e;//here User shud not be allowed to create an reference 

    }

}  
4

5 に答える 5

1

ユーザーがクラスのインスタンスを作成することさえできないようにするにはどうすればよいですか

そのクラスで何をするかわかりませんが、コンストラクターを非公開にすることで、ユーザーがクラスのインスタンスを作成しないようにすることができます。

于 2013-07-15T18:15:22.977 に答える
0

コンストラクターを非公開にします。以下のコードを参照してください

 class emp
{
    int eno;

    private emp(){}
}
于 2013-07-15T18:18:52.927 に答える
0

プライベートコンストラクターを作成しても問題は解決しません。

public staticメソッド sayを提供してgetInstance()、そこからこのようなクラスのインスタンスを返すことができます。

public class Emp{
    private Emp(){
    }
    /*Constructor private? No worries. 
      We can still create an instance using a public static method. 
      Just call Emp.getInstance().*/
    public static Emp getInstance(){
        return new Emp();
    }
}

クラスを次のようにする必要がありますabstract

public abstract class Emp{
     //Method implementations 
}

これにより、独自のコンストラクターを使用してクラスのインスタンスを作成できなくなります。ただし、派生クラス コンストラクターを使用して、このクラスのインスタンスを作成できます。

于 2013-07-15T18:27:55.423 に答える