您的位置:首页 > 编程语言 > Java开发

【Java】【TIJ】实现一个类:不允许用构造方法来直接创建类实例(对象)

2014-10-07 09:31 871 查看
    某些情况下,也许我们不希望客户使用构造方法直接创建对象实例,但是我们还是希望类可以正常使用,我们可以使用下面的方法来实现:

/**
*  创建一个类:类的实例不能直接用构造方法来创建
* @author:WolfOfSiberian
*/
public class WithoutConstructor{

/**
* 一般情况下构造方法都是public的,但是为了阻止用户使用构造方法直接创建对象,
* 这里使用private控制访问权限
*/
private WithoutConstructor(){
System.out.println("Invoke private constructor!");
}

/**
* 不能直接使用构造方法创建实例的情况下,只能通过静态方法来实现构建,
* 试想如果不用静态方法的话,任何方法都需要类对象来调用,但是此时本身就是要创建对象
*/
public static WithoutConstructor MakeObject(){
//return this(); //static方法没有this引用
return new WithoutConstructor();
}

public static void main(String[] args){
WithoutConstructor test= WithoutConstructor.MakeObject();//类调用静态方法
}
}




运行结果:



F:\01 Java\01 Project\01 TinkingInJava>java WithoutConstructor

Invoke private constructor!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 对象 实例 class
相关文章推荐