第3节 构造方法
6.3 构造方法
为何使用构造方法?
是一种特殊的方法,它的作用是用来初始化对象的数据,实现类的实例化。
在编写类的成员数据时,就需要编写初始化这些数据的构造方法。
构造方法的特点:
构造方法必须与定义它的类具有完全相同的名字
构造方法没有返回值
和其它方法一样,构造方法也可以被重载
一个例子

示例:使用构造方法
在这个例子中,使用Circle类中的构造方法创建两个半径不同的对象

构造方法的注意事项
Java编译器会为类创建默认的无参构造方法
当重载一个类的构造方法时,编译器将不会创建默认的构造方法
一般,当我们重载一个类的构造方法时,应该显示的创建该类的无参构造方法
变量的作用域
实例变量和类变量的作用域是整个类,类中的所有方法都可以访问这些变量
方法内定义的变量以及方法的参数是局部变量
局部变量的作用域从它的声明开始延续到包含它的块尾
实例变量或类变量系统会默认初始化,局部变量在使用前必须初始化
例子:

产生问题

分析问题:
如果局部变量与实例变量或类变量重名,则局部变量优先,同名的实例变量或类变量被隐藏。
被隐藏的类变量可以使用类名.类变量名访问;
被隐藏的实例变量怎么办?
关键字this

妙用this关键字
什么是this
this代表当前对象,其本质是实例方法中对该方法所在实例的引用
this的用处
当引用对象的某个成员时,可以用“this.成员名”来表示
还可以用“this.方法名”来引用当前对象的某个方法
this的另一个用途是:在一个构造方法中调用当前对象的其它构造方法;
注意:这样的语句必须作为构造方法的第一条语句
注意事项
this只能用在方法中;
this不能用在静态方法中
Simple use of the "this"
调用一个方法,使得它的返回值为一个句柄!

在构造方法中使用this
为何使用构造方法?
是一种特殊的方法,它的作用是用来初始化对象的数据,实现类的实例化。
在编写类的成员数据时,就需要编写初始化这些数据的构造方法。
构造方法的特点:
构造方法必须与定义它的类具有完全相同的名字
构造方法没有返回值
和其它方法一样,构造方法也可以被重载
一个例子

示例:使用构造方法
在这个例子中,使用Circle类中的构造方法创建两个半径不同的对象

构造方法的注意事项
Java编译器会为类创建默认的无参构造方法
当重载一个类的构造方法时,编译器将不会创建默认的构造方法
一般,当我们重载一个类的构造方法时,应该显示的创建该类的无参构造方法
变量的作用域
实例变量和类变量的作用域是整个类,类中的所有方法都可以访问这些变量
方法内定义的变量以及方法的参数是局部变量
局部变量的作用域从它的声明开始延续到包含它的块尾
实例变量或类变量系统会默认初始化,局部变量在使用前必须初始化
例子:

产生问题

分析问题:
如果局部变量与实例变量或类变量重名,则局部变量优先,同名的实例变量或类变量被隐藏。
被隐藏的类变量可以使用类名.类变量名访问;
被隐藏的实例变量怎么办?
关键字this

妙用this关键字
什么是this
this代表当前对象,其本质是实例方法中对该方法所在实例的引用
this的用处
当引用对象的某个成员时,可以用“this.成员名”来表示
还可以用“this.方法名”来引用当前对象的某个方法
this的另一个用途是:在一个构造方法中调用当前对象的其它构造方法;
注意:这样的语句必须作为构造方法的第一条语句
注意事项
this只能用在方法中;
this不能用在静态方法中
Simple use of the "this"
调用一个方法,使得它的返回值为一个句柄!

在构造方法中使用this



