4.初始化与清理

 第四章 初始化与清理

1.不能用返回值的类型来区分构造函数:如果有两个方法,int fun(); String fun();当调用方法fun(),你是不能区分调用哪个方法的。如果你在类中定义了一个成员数据int a;那么系统会自动把它初始化为0,不是在默认构造函数中初始化的。

2.在构造函数里可以用this调用一个构造函数,但是不能调用两个,还必须在最前面调用。static类型的方法没有this,所以static方法只能访问其它static方法和数据,但不是说,static方法中不能实例化对象。

4.如果某个类包含静态成员,那么在这个类第一次被实例化的时候,先初始化静态成员;当以后再次实例化该类的时候,将不会再初始化static成员了。

5.数组的定义语句int[] a1,其中int[]代表一个类型:整数数组;这个语句只是定义了一个数组的reference,所以不能指定数组大小。要为这个数组创建内存空间,就必对其须初始化;有一种特殊的初始化方式,就是使用大括号a1={1,2,5},这和使用new来处理时,内存的分配是等效的。把一个数组赋值给另一个数组,真正做的也就是复制reference。执行了这句int[] a1 = new int[5]以后,数组的元素就自动被初始化为0了。

像这样的语句Integer[] a1 = new Integer[5]只是创建了一个reference的数组,还要对每个reference进行对象关联,才算初始化完毕。

Integer[] a = {new Integer(1), new Integer(2),  new Integer(3), }; 和

Integer[] a = new Integer[] {new Integer(1), new Integer(2),  new Integer(3), };

是有区别的。

6.java中没有锯齿数组a[3,2],只有多维数组a[3][2]。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值