JAVA--基础(容易记混的地方)

数组

1.这样相当于这两个同时引用的是一个数组
int[] a= {1,1,1,1};
int[]b=a;
b[1]=5;
最后的结果:b[1]=5,同时a[1]=5;
如果只是单纯想要将a的值拷贝到b中去,需要采用 int[]b=Arrays.copyOf(a,a.length);

2.数组的长度
一维数组a中 a.length 代表的是数组的长度
二维数组a中a.length 代表的是行数

对象与类

1.访问器方法一旦要返回可变对象的引用,首先应该对它进行克隆
例子: class Employee{
private Date hireDay;

public Date getHireDay(){ //访问器方法
return (Date)hireDay.clone();//返回克隆
}
}

如果不返回克隆的话,Date类自身有个修改器方法,可以直接进行私有字段的修改

2.final 用来修饰不可变的基本数据类型或者不可变类。如果修饰一个可变的类,final修饰符可能造成混乱。
private final StringBuilder evalutaions;
evalutaions=new StringBuilder();
这时final关键字只是表示存储在evalutaions变量中的对象引用不会再指示另一个不同的StringBuilder对象,但是这个对象内容是可以进行更改的.

静态

1.静态字段:如果将一个字段定义为static,每个类只有这样一个字段,它是属于类的,而不属于单个的对象。
2.静态常量
**3.静态方法:**不在对象上执行的方法,不使用隐式参数,所有使用的参数都是通过方法传递过来的,静态方法可以访问静态字段。
**4.静态工厂方法:**当需要用不同的名字得到实例时,当需要改变构造对象的类型时。

你可能感兴趣的:(JAVA)