对象与类
由类构造对象的过程称为创建类的实例
对象中的数据称为实例域,操纵数据的过程称为方法;实例域值的集合就是当前对象的状态;对象状态的改变必须通过调用方法实现,否则说明封装性遭到破坏
对象变量的值是对存储在另外一个地方的一个对象的引用,可以为空表示不引用任何对象
更改器方法:能够改变对象状态的方法
访问器方法:只访问对象而不修改对象的方法
一个.java文件中有唯一一个public类,其余的类为非公有类,文件名必须与public类的名字相匹配
构造器总是伴随着new操作符执行,不能对一个已经存在的对象调用构造器来重新设置实例域
不要编写返回引用可变对象的访问器方法(如果要返回一个可变对象的拷贝,就应该用clone),例如:
class Employee { private Date hireDay; ... public Date getHireDay() { return hireDay; } } Employee test = ...; Date d = test.getHireDay(); d.setTime(...);
静态域属于类本身,不属于任何单独的对象;静态方法不操作对象,能访问静态域;
Java是按值调用的,方法得到的是所有参数值的一个拷贝,方法不能修改传递给他的任何参数变量的内容
局部变量必须初始化赋值才能使用,而类中的域会被赋默认值;在类中实例域的赋值是优先于构造器,如果没有显示赋值,系统也会赋给实例域默认值
Java有自动的垃圾回收器,不需要人工回收内存,所以java不支持析构器;但是如果某个资源需要在使用完毕后立即被关闭,则需要用人工来管理