一、定义一个类
/* * 示例:定义一个类 */ [修饰符] class 类名 { // 成员1:零个到多个构造器定义 [修饰符] 构造器名(形参列表) { // ... } // 成员2:零个到多个成员变量 [修饰符] 类型 成员变量名 [= 默认值]; // 成员3:零个到多个方法 [修饰符] 方法返回值类型 方法名(形参列表) { // ... } // 成员4:零个到多个初始化块 [修饰符] { // ... } }
1. 外部类的修饰符:{public, final, abstract, 省略}
2. 构造器的修饰符:{public | protected | private, 省略}
①由于构造器主要用于被其他方法调用(以返回该类的实例),所以通常把构造器设置成public访问权限,除非业务需要限制创建该类的对象
- public:允许系统中任何位置的类来创建该类的对象
- protected:被其子类调用
- private:阻止其他类创建该类的实例
3. 成员变量的修饰符:{public | protected | private, static, final, 省略}
4. 方法的修饰符:{public | protected | private, static, final | abstract, 省略}
5. 初始化块的修饰符:{static, 省略}
补充:内部类的修饰符:{public | protected | private, static, final | abstract, 省略}
二、类的成员剖析
1. 构造器
①作用:在创建对象时执行初始化
②构造器名必须和类名相同,且没有返回值类型
③如果程序员没有为Java类提供构造器,则系统会为该类提供一个无参数的构造器,其执行体为空
④一旦程序员提供了自定义的构造器,系统就不再提供默认的构造器
补:其实在构造器执行之前,系统已经创建了一个对象(包含为该对象分配内存空间、为该对象执行默认初始化),只是这个对象还不能被外部程序访问,只能在该构造器中通过this来引用。