Java 如何创建对象?
我就这样找。看到一个说总共有四种方法 第一个是使用new关键字。剩下的就更复杂了 但是假设你想构造一个字符串对象:Java 如何创建对象?,java,object,Java,Object,我就这样找。看到一个说总共有四种方法 第一个是使用new关键字。剩下的就更复杂了 但是假设你想构造一个字符串对象: String object1= String("Bob") 如果我们保留参数,空白对象将为null。< /P> 但问题是:我们不能用更简单的方法来做吗 String object1="Bob"; 至少有6种方法 使用新关键字 使用类的newInstance方法使用反射 要创建现有对象的副本,请使用克隆方法 使用对象反序列化从通常使用的序列化对象创建objectInputStre
String object1= String("Bob")
如果我们保留参数,空白对象将为null。< /P> 但问题是:我们不能用更简单的方法来做吗
String object1="Bob";
至少有6种方法
使用新关键字
使用类的newInstance方法使用反射
要创建现有对象的副本,请使用克隆方法
使用对象反序列化从通常使用的序列化对象创建objectInputStream.readObject
使用getClassLoader
使用工厂方法创建。。。
不管怎样,关于你的例子
String object1=新的StringBob;它等于字符串object1=Bob
每当遇到字符串文本时,如string object1=Bob;在代码中,编译器使用其值创建字符串对象,因此在本例中,String object1=new StringBob;,这就是它们相等的原因。我也想知道为什么有时在构造对象时,我们可以设置类?你是说我在评论中的问题?两者都是JavaA空白,即字符串构造函数中的任何参数都不会创建空对象-请参阅。在添加新关键字之前,您的第一行代码不会编译。不确定您的意思。能够使用构造函数创建自己的类是面向对象语言的一个特点。不确定这与您的问题有何关系,是的,您可以创建一个字符串对象,其中包含一个文本,例如Bob。这不是一个新对象,这是一个文本……新的StringBob与obj=Bob不同。您可以通过打印newstringbob==newstringbob和Bob==BobAnd的结果来测试它至少大多数方法都是封装的new的形式。就像克隆和工厂一样…@Alexandru:当我运行String object1=new StringBob;字符串object2=Bob;如果object1.EqualObject2 System.out.println是;-它会打印“是”。我试图解释当你分配文字时,一个对象确实被创建了。也许“相等”这个词比“相同”更好——我会这么说的change@CommuSoft:是的-他们中的大多数人都是用你的话来包装或封装新事物的。工厂方法在内部使用“getInstance”,它使用new;同样,newInstance也使用new运算符。。这里的重点是,开发人员可以使用什么来创建一个对象?我没有意识到有那么多。也许我的书过时了。你从哪里得到信息。关于Java的最新版本?