java温习*(7):引用数据类型应用---成员属性

作用:
引用数据类型:完成实例化后,可借由该类型对象获取其中非私有成员。

基本数据类型:无需初始化,只能操作对应类型具体数值。

初始值:
引用数据类型:未进行实例化时为null;进行实例化后,将依据对应的构造方法完成初始成员信息设置。

基本数据类型:无需初始化,各类型有各自默认值(譬如:int是0,double是0.0等)

调用方式:

Ps:此时指在类内方法中访问,暂不考虑static修饰的情况

引用数据类型:如未进行实例化,方法中调用对象非私有成员时会报空指针异常(具体内容,后面小节中会详细介绍);当进行初始化后,可借由对象访问其非私有成员信息。

基本数据类型:可直接调用获取具体数值。

示例:
现有公司类和员工类,在测试类中对员工信息进行测试。

(Ps:鉴于文档展示篇幅有限,示例中暂不考虑封装特性,属性均采用默认权限,未设置get/set方法及无参构造。)

图片描述

图片描述

 

 

  • 当测试类中,生成公司,员工对象,但并未对员工中的公司属性赋值时:

图片描述

运行结果: 由于display方法中的comp未初始化,因此产生空指针异常。

图片描述

 

- 如修改员工类中代码:加入对员工的公司属性初始化设置

图片描述

 

保留测试类和公司类代码不变,此时运行无异常,结果中将展示初始化时的公司属性的默认值,即:

图片描述

 

- 如员工类中,公司属性定义时未初始化,但加入在双参构造方法中的信息判断

图片描述

 

保留测试类和公司类代码不变,此时,虽然员工类中的公司属性定义时未完成初始化,但由于构造方法中有相关判断,将完成初始化操作,从而在main方法中调用时不会产生异常。即:

图片描述

 

  • 如保留员工类、公司类初始代码不变(即员工类中公司属性定义和构造方法中均未初始化),修改测试类中代码:加入对员工的公司属性赋值
  • 图片描述

 

则由于员工对象的公司属性,虽在类内定义时未初始化,但在main方法中调用时正确赋值,运行结果为:

图片描述

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值