用构造器确保初始化
- 如何自定义构造器(constructor)?
构造器方法的名称与类名相同,并且没有返回值。
需要注意,在定义构方法时,方法名前面不要添加任何的类型说明符,格式:类名(){},构造方法主要用于为类定义初始化状态。我们不能直接调用构造方法,必选通过 new 关键字来自动调用,从而创建类的实例。
构造器的名称必须与类名完全相同,不接受任何参数的构造器叫做默认构造器或者无参构造器。还有一种有参构造器,创建有参构造器需要手动创建无参构造器。 - new 关键字有什么作用?
在创建对象时,new 关键字先会为对象分配存储(内存)空间,并调用相应的构造器,最后为对象返回一个引用。
方法的重载
- 何为重载?
构造器是强制重载方法名的一个原因,构造器的名字由类名决定,所以只能有一个构造器名。需要多种方式创建一个对象就需要用到重载了,由于多种方式就需要多个构造方法,所以它们必须具有相同的名字,但是参数类型或者个数不同才能构成方法的重载。
需要值得注意的是:重载并不是构造方法的特殊待遇,类中的任何方法都可以被重载。只有方法的返回值类型不同是不能构成方法的重载的。
this 关键字
- 什么是 this 变量?
Java 中的 this 变量代表对象自身,若类中有两个同名变量,一个属于类(类成员变量),另一个属于某个特定方法的变量(方法的局部变量),则可以使用 this 关键字来区分成员变量和局部变量。 - 代表对象自身是什么意思?
this 变量在对象创建之前是没有值的,只有当对象创建之后才有引用当前对象的值。每当调用一个实例方法时,this 变量将被设置成引用该实例方法的特定的类对象,方法的代码会与 this 所代表的对象的特定数据建立关联。 - 什么是 this 方法?
this 关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。this 的用法和其他对象引用并无不同,如果在方法内部调用同一个类的另一个方法,就必使用 this,直接调用即可。