在Java中创建对象时避免'新'Keword的好处

Raz*_*zib 4 java oop instantiation instance object-create

我找到了一些博客,其中提出了new在创建类的对象时避免使用关键字的建议.创建没有new关键字的对象的一些示例是-

SampleObject obj = Class.forName("com.example.SampleObject").newInstance();
Run Code Online (Sandbox Code Playgroud)

或使用clone()方法 -

SampleObject obj1 = new SampleObject();  
SampleObject obj2 = obj.clone();
Run Code Online (Sandbox Code Playgroud)

然后在这里我找到了一些没有new关键字创建对象的好例子

我可以理解'Factory'模式的优点,同时避免new代码主要部分的关键字.如果我没有使用任何设计模式(用于创建对象),那么创建没有new关键字的对象有什么好处?或者没有创建对象的原因是什么new

Mar*_*nik 7

您在博客中阅读的内容必须是关于工厂方法和类似技术,这些方法和技术无法避免 new,而是将其置于更灵活的API之后.

new运营商来说,没有明确的缺点.它已经并将继续是任何Java代码的主要内容,也是实际创建对象的最自然的方式,而不是满足更普遍的关注,例如"为我提供API的入口点".

在不涉及new的情况下创建对象的所有其他技术都是专用工具(克隆,反序列化等).