温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java private私有构造方法干嘛

发布时间:2026-10-04 13:39:58 来源:亿速云 阅读:95 作者:小樊 栏目:编程语言

在 Java 里,**private 构造方法(私有构造方法)**的核心作用是:不让别人随便用 new 来创建这个类的对象。

常见用途有下面几种:


1️⃣ 单例模式(最常见)

保证一个类只有一个实例。

public class Config {
    private static Config instance = new Config();

    private Config() {} // 私有构造,外部不能 new

    public static Config getInstance() {
        return instance;
    }
}

外部只能:

Config c = Config.getInstance();

不能:

new Config(); // 编译错误

2️⃣ 工具类(防止实例化)

像 Math、Collections 这种只提供静态方法的类。

public class StringUtils {
    private StringUtils() {} // 禁止 new

    public static boolean isEmpty(String s) {
        return s == null || s.length() == 0;
    }
}

这样可以避免:

new StringUtils(); // 没意义

3️⃣ 工厂方法控制对象创建

对象的创建逻辑更复杂,不想直接暴露构造。

public class User {
    private User() {}

    public static User create(String name) {
        // 可以做校验、缓存等
        return new User();
    }
}

4️⃣ 内部类或特殊设计

有些类只允许在类内部创建自己:

public class Outer {
    private Outer() {}

    public class Inner {
        public Inner() {
            Outer o = new Outer(); // 合法
        }
    }
}

5️⃣ 防止被继承(配合 final)

public final class Constants {
    private Constants() {}
}

总结一句话 ✅

private 构造方法 = 把“创建对象的权利”收回到类自己手里

如果你愿意,我也可以结合单例 / 工厂 / 工具类给你一个更直观的例子对比。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手