源程序中可以包含多个类,或者也可以把每个类分配到单独的源文件中,
当一个源文件编译过程中需要调用另外的类,编译器会自动编译.
主力类:workhorse class,一般不具备main方法,而是具有自己的实例字段(instance field)和方法(method).
关键字public表示任意类中的任一方法都可以调用这个方法.
关键字private用来确保访问实例字段的方法只能是类本身的方法.任何外部方法都无法读或者写这些字段.
PS:也可以对实例字段用public关键字,但是这是很糟糕的做法,public的数据字段将允许程序任何部分对其访问和修改,这样就破坏了封装.
构造器(constructor)
构造器的名字和类的名字是一样的.但是同方法的区别子在于:构造器只能和new运算符一起被调用.不能把
构造器用于一个已经存在的对象以重新设置其实例字段.
一个类可以具有多个构造器(这在JAVA类库中得以完整提现)
构造器可以具有0个或者多个参数
构造器没有返回值
构造器和new运算符总是一起调用
PS:注意不要在构造器中定义和实例字段一样的局部变量.
例子:public yangfan(String n,int a)
{
string name = n;
int age = a;
}
private String name;
private int age;
这样的写法会在构造器内部遮蔽(shadow)了相同名字的实例字段,以上name,age两个实例字段将被遮蔽
而且程序出错的时候也会非常难以发现问题的所在.
关键:不要让自己使用和实例字段同名的变量.