1.数组
创建一个数字数组时,所有元素都初始化为0。boolean数组的元素初始化为fales。对象数组的元素则初始化为null。
一旦创建了数组,就不能再改变它的大小。如果经常需要在运行的过程中扩展数组的大小,应该使用ArrayList(数组列表)。for each循环:for( T t : collection<T>)。其中collection必须是一个数组或者是一个实现了Iterable接口的类对象。
数组拷贝:Arrays.copyOf()。这个方法也通常用来增加数组的大小。
int [] a = {1, 2, 3, 4, 5};
int [] copy = new int [5];
copy = Arrays.copyOf(a, a.length);
//改变数组的大小
//copy = Arrays.copyOf(a, 2*a.length);
- 数组排序:采用优化的快速排序算法,Arrays.sort(type[] a)。查找元素:使用二分搜索算法查找,Arrays.binarySearch(type[] a, type v)。
2.类的更改器方法与访问器方法
调用更改器方法,对象的状态会改变(值会改变)。
调用访问器方法,只访问对象而不修改对象。注意不要编写返回引用可变对象的访问器方法(可使用clone)。
3.隐式参数与显示参数
显式参数是明显地列在方法声明中的;而在每一个方法中,出现在方法名前面的类对象,是隐式参数,用关键字this表示。
public class MyNewTest {
private double salary;
public void MyNewTest raiseSalary(double byPercent) {
double raise = this.salary * byPercent / 100
this.salary += raise;
}
}
4.基于类的访问权限
一个类的方法可以访问该类的任何一个对象的私有域。例:
class Employee {
...
private String name;
public boolean equals(Employee other) {
return name.equals(other.name);
}
}
Employee harry = .....;
Employee boss = .....;
//访问harry和boss的私有域
if(harry.equals(boss))...