编程思想第二章(一切都是对象01)

我们对于《编程思想》里面的第二章:一切都是对象,其中有2.4.1(字段和方法)有以下的一段话我觉得总结的还是不错的,以前自己都没有注意到过这个

    基本成员默认值

    若类的某个成员是基本数据类型,即使没有进行初始化,java也会确保它获得一个默认值,当变量作为类的成员使用时,java才确保给定其默认值,以确保那些是基本类型的成员变量得到初始化(C++没有此功能),防止产生程序错误,但是,这些初始值对你的程序来说,可能是不正确的,甚至是不合法的。所以做好明确地对变量进行初始化。

    然而上述确保初始化的方法并不适用于“局部”变量(即并非某个类的字段),因此,如果在某个方法定义中有

    int x;

那么变量x得到的可能是任意值(与C和C++一样),而不会被自动初始化为零。所以在使用x前,应先对其赋一个合适的值。如果忘记了这么做,java会在编译时返回一个错误,告诉你此时变量没有初始化,这正是java优于C++的地方。(许多C++编译器会对未初始化变量给予警告,而java视为错误)

当我在intelliJ写下如下测试,编译器报错(Variable ‘i’ might not have been initialized)

	@Test
	public void test1(){
		int i;
		System.out.println(i);
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值