Q:在Java中有没有一种方法,当对象创建时就立刻给它赋值呢?
A:这时将引入构造函数这一方法概念。
构造函数
构造函数:构造创建对象时自动调用的函数。
作用:给对象进行初始化。
特点:
1、函数名与类名相同。
2、不用定义返回值类型。
3、没有具体的返回值(不可以加void)。
注意:
1、默认构造函数的特点。
2、多个构造函数是以重载的形式存在的。
3、创建对象都必须要通过构造函数初始化
4、如果在类中没有定义过构造函数,那么该类中会有一个默认的空参数构造函数;
如果在类中定义了指定的构造函数,那么类中的默认构造函数就没有了。
一般函数和构造函数有什么区别呢?
一、
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化。
一般函数:对象创建后,需要函数功能时才进行调用。
二、
构造函数:对象创建时,会调用且只调用一次。
一般函数:对象创建后,可以被调用多次。
this关键字
特点:this代表其所在函数所属对象的引用。
Q:什么时候使用this关键字?
A:当在函数内的局部变量与实例变量同名时,就用this。
1、当成员变量和局部变量重名,可以用关键字this来区分
this:代表对象,代表哪个对象呢?当前对象。
this其实就是所在函数所属对象的引用。
简单来说:哪个对象调用了this所在的函数,this就代表那个对象。
class test
{
private String id;
public void setId(String id)
{
this.id = id;
}
public String getId()
{
return id;
}
}
2、this也可以用于在构造函数中调用其他构造函数。
注意:只能定义在构造函数的第一行,因为初始化动作要先执行。
class Person
{
private String name;
Person(String name)
{
this.name = name;
}
Person(String name,int age)
{
this(name); //用this调用构造函数(必须是构造函数的第一个语句)
this.age = age;
}
}