java - new 关键字在这里做什么?

标签 java

class my_class {

    int a = 8;

    my_class() {
        System.out.println(a);
    }
}

public class NewClass {

    public static void main(String[] argue) {

        new my_class();

        new my_class();  

    }
}

我无法理解 main 方法中的两个语句 ( new my_class(); )。

除了在对象定义中,我从未见过这种说法。我知道 new 关键字为一个对象分配内存并分配一个引用地址,但在这种情况下发生的事情是完全不明确的;为什么分配内存?

new 关键字在这里做什么?不管这是什么,通过使用这条语句,我都可以从 main 方法中显式调用构造函数。我在任何教科书或互联网上都找不到这样的说法。

最佳答案

new my_class() 创建一个类型为 my_class 的新对象。它没有被分配;所以它被丢弃了。

但是在被丢弃之前,无论如何都要构建对象;构造函数运行并打印其对象的 a 属性值。 8.

关于java - new 关键字在这里做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33874108/

相关文章:

java - 为什么 junit4 没有 Assert.assertArrayEquals() for double[]s?

java - 错误 "The method withDefaultPasswordEncoder() is undefined for the type User"Spring Boot密码

java - 如何在 java 上使用诸如 PJSIP 之类的 C 库?

Java SocketChannel 没有在 linux 环境下抛出 IOException

java - 嵌套 if 语句在另一个嵌套 if 语句中未捕获

java - Java计划任务是否在AWS Auto Scaling组的所有EC2实例上运行?

java - AppEventsLogger.activateApp(this) - 崩溃应用程序

应用程序上的 javafx mac dmg deploy 安装位置

c# - 如何将流从 Java applet 发送到 ASP .NET 网站?

java - 按键事件在日期选择器中不起作用