成员变量初始化方法比较

上一篇写了①构造方法初始化——给成员变量赋值的一种方法。②加上setter方法现在已经知道了两种给成员变量赋值的方法。

除了上面那两种,还有一种就是③显式初始化。顾名思义,就是最明显的一种赋值方式。

	//成员变量(类的属性)
	String name = "草帽团";
	int age = 100;

测试类中:

Person p = new Person();
		p.show();

输出为: 

我是-无-参构造方法!
我的名字为:草帽团,今年100岁了
请按任意键继续. . .

成员变量还有一个特性:与局部变量相比,不需要赋初值就能使用。成员变量的创建的同时就有④默认初始化

        Person p = new Person();//去掉显式赋值
		p.show();

输出为:

---------- 运行java ----------
我是-无-参构造方法!
我的名字为:null,今年0岁了

输出完成 (耗时 0 秒) - 正常终止

以上就是四种给变量赋值的方法。①构造方法初始化 ②setter方法③显式初始化④系统默认初始化

 而这四种方法的区别为:

①构造方法初始化赋值,通过创建对象的同时,给对象创建一个初值。每一个对象只可使用一次。

②setter方法赋值,通过调用方法来给对象赋值,可以多次调用,来改变成员变量的值。

③显式初始化赋值,通过类中的声明来给成员变量赋值,每一个对象创建的时候都会拥有这个值,除非调用有参构造方法或者setter方法改变。

④系统默认初始化赋值,对象创建的同时,系统直接会在堆内存中给对象的成员变量分配空间,空间分配的同时,就会有默认值产生,此时如果像int、float等都会是0,string 类型的为null,boolean型的为false。

 

而这几种方法的顺序为:   ①系统默认提供(对象一创建,分配内存时都已经有了)————②显式赋值————③构造方法初始化

setter方法作为自主调用,不参与排名,不要问,问就是最后。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值