是否可以在Java中实例化没有构造函数的对象

在学习字符串文字与字符串对象时,我发现有两种可能的方法来实例化字符串类型的变量


//Using literals

String s1 = "text";


//Using constructor

String s2 = new String("text");

我想知道是否有可能以某种方式创建一个类,而不是用构造函数实例化它,可以使用文字实例化它


这就是我的意思


class Value {

    int value;

    //Some methods

}


Value val = 10; //Program automatically sets val.value = 10


杨魅力
浏览 308回答 3
3回答

芜湖不芜

大多数情况下是不可能的。即使我们无法直接看到它,创建一个String你所拥有的并分配一个int值都使用构造函数。像这样的场景很少见。请阅读此。会很好地增加你的知识:)

噜噜哒

不可以。虽然你可以写String s1 = "text";,java 编译器会自动创建一个对象。这可能是误导您的原因。但它发生在里面。

慕的地10843

不,这是不可能的。Java 与此最接近的是autoboxing,您可以在其中编写如下内容:Integer val = 10;并且编译器会自动将该分配转换为涉及原始缓存的分配(有一组固定的原始值保证缓存:布尔值 true/false,字节和字符值 0-127,以及 int 值 -128 到 127,根据规范。尽管 JVM 可能(而且几乎总是)拥有比这更广泛的原语缓存)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java