我们知道可以通过对象的构造函数传递值。看这个例子:
String primeira = "Java";
String segunda = "Csharp";
String terceira = new String("pyhton");
在我的前两个属性中我没有实例化任何对象,为什么它没有给出错误?这个实例化是在 Java 的幕后完成的吗?如果是另一个类而不是 String 类会报错吗?
我查看了文档,没有找到任何答案。
让我尽力解释这一点。因此,在 Java 字符串文字中,您可以在不使用
String
关键字的情况下创建 new
对象。
Java 在内部创建
String
对象来表示字符串文字,这个过程称为字符串驻留。因此,当您声明一个字符串变量并为其分配一个字符串文字时,Java 会自动创建一个 String
对象。
但是,对于大多数其他类,您需要使用
new
关键字来实例化对象。此行为特定于 String
类,并不普遍适用于 Java 中的所有类。
参见下面的示例:
public class StringExample {
public static void main(String[] args) {
// Creating String objects using string literals
String primeira = "Java"; // No need for 'new' keyword
String segunda = "Csharp";
// Creating String object using 'new' keyword
String terceira = new String("Python");
// Displaying the content of the String objects
System.out.println("primeira: " + primeira);
System.out.println("segunda: " + segunda);
System.out.println("terceira: " + terceira);
}
}
真的希望这有帮助,请告诉我:/