加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 即使我们有一个构造函数,如何将变量初始化为默认值

发布时间:2020-12-15 05:01:25 所属栏目:Java 来源:网络整理
导读:我有一个关于 java中的默认构造函数的问题. 尽管我已经阅读了java中的构造函数,但默认构造函数会将所有实例变量初始化为其默认值.但是,如果我们为一个类定义一个构造函数,那么如果我们想要它们,变量如何初始化为默认值呢? 假设我有2个文件 a.java public cl
我有一个关于 java中的默认构造函数的问题.
尽管我已经阅读了java中的构造函数,但默认构造函数会将所有实例变量初始化为其默认值.但是,如果我们为一个类定义一个构造函数,那么如果我们想要它们,变量如何初始化为默认值呢?

假设我有2个文件
a.java

public class a
{
    int x;

    public a(int z)
    {
        if(z > 0)
        {
            x = z;
        }
    }

    public  void get()
    {
        System.out.println(x);
    }
}

和b.java

public class b
{
    public static void main(String[] args)
    {
        a obj = new a(-4);

        obj.get();
    }
}

现在这里条件(z> 0)失败,所以x被初始化为零.但这究竟是什么,因为它们在类a中没有默认构造函数.

解决方法

Fields that are declared but not initialized will be set to a reasonable default by the compiler. Generally speaking,this default will be zero or null,depending on the data type.

Source

这意味着编译器将在您构建程序时为您执行此操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读