@xiaoyixy
2016-02-20T23:08:36.000000Z
字数 1057
阅读 1284
Java
1、简单的Java类定义
class ClassName { // class Employee{
fielf 1; // private String name;
fielf 2; // private double salary;
…
constructor 1;
constructor 2; // public Employee (String n){
// name = n;
// }
…
method 1; // public String getName () {
method 2; // return name;
… // }
}
2、实例域field、构造器constructor和方法method
实例域:用private关键字标记以确保只有类本身可访问,也可用public标识,但是极不提倡。
♥ final实例域:为确保每一个构造器执行后这个域的值被设置,并在后面的操作中不能够再对其进行修改!final修饰符大多用于基本类型域或不可变类的域。 e.g. private final String name;
♥ 静态域:将域定义为static,每个类只有一个这样的域
e.g. private static int nextId = 1;
private int id; //若有100个类的对象,则有100个实例域id,但只有一个静态域nextId,即使没有
//对象nextId静态域也存在,静态域属于类而不属于任何独立对象,又称类域
构造器:
① 构造器与类同名
② 每个类可以有一个以上的构造器
③ 构造器可以有0, 1, 多个参数
④ 构造器没有返回值
⑤ 构造器总是随着new操作一起调用
⑥ 不可在构造器中定义与实例域同名的局部变量
方法:
① 大多数方法被声明为public,但有时也需要使用private方法,例如希望将一个计算代码划分成若干个对立辅助方法
② 极不提倡编写返回引用可变变量的访问器方法,这样做会破坏封装,有暴露数据风险:
③ 要描述一个方法需要指出方法方法名以及参数类型,返回类型不是方法签名的一部分,因此声明存在仅返回类型不同的两个方法
e.g. private Date hirdDate;
public Date getHireDate () { // Error!
return hireDate;
}
Note:若需要返回一个可变对象的引用,应该首先对它进行克隆:return hireDate.clone();
♥ 静态方法:不能向对象施加操作的方法,可认为是没有this参数的方法。静态方法不能访问实例域,但可访问本身的静态域。其用法主要有:<1> 一个方法不需要访问对象的状态,其所需参数都通过显式参数提供。<2> 一个方法只需访问类的静态域