------- <ahref="http://www.itheima.com" target="blank">android培训</a>、<ahref="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
1. 特点:
函数名与类名相同;
不用定义返回值类型;
不可以写return语句。
作用:
给对象进行初始化。
注意:
默认构造函数的特点;
多个构造函数是以重载的形式存在的。
2. 构造函数细节:
当一个类中没有构造函数时,那么系统会默认给该类增加一个空参数的构造函数。
当在类中自定义了构造函数后,默认的构造函数就没有啦。
3. 构造函数和一般函数的区别:
构造函数和一般函数在写法上不同;
运行上也不同;
构造函数在对象已建立就运行,给对象初始化;
一般方法是对象调用才执行,给对象添加对象具备的功能;
一个对象建立,构造函数只运行一次;
而一般方法可以被该对象调用多次。
例子:构造函数
class Person
{
privateString name;
privateint age;
/*
构造代码块;
作用:给对象进行初始化;
对象已建立就运行,而且优先于构造函数运行;
和构造函数的区别:
构造代码块是给所有的对象进行统一初始化;
而构造函数是给对应的对象进行初始化。
*/
{
System.out.println(“person code run”);
}
Person() //多个构造函数是以重载的形式存在的
{
System.out.println(“A:name=”+name+”,age=”+age);
cry();
}
Person(String n)
{
name=n;
System.out.println(“B: name=”+name+”,age=”+age);
cry();
}
Person(String n, int a)
{
name=n;
age=a;
System.out.println(“C: name=”+name+”,age=”+age);
cry();
}
public voidcry()
{
System.out.println(“cry**********”);
}
}
class PersonDemo2
{
puboicstatic void main(String[] args)
{
Personp1=new Person();
Personp1=new Person(“llishi”);
Personp1=new Person(“lishi”,10);
}
}
This的用法
看上去,用于区分成员变量和局部变量同名的情况;
This代表所在函数所属对象的引用。
简单的说:那个对象在调用this所在的函数,this就代表那个函数。
例子:this的用法
class Person
{
privateString name;
privateint age;
Person(String name)
{
this.name=name; //这里this的对象代表p1
System.out.println(“B: name=”+this.name);
cry();
}
Person(String name, int age)
{
this.name=name; //这里this代表p2
this.age=age;
System.out.println(“C: name=”+this.name+”,age=”+this.age);
cry();
}
public voidcry()
{
System.out.println(“cry**********”);
}
}
class PersonDemo2
{
puboicstatic void main(String[] args)
{
Personp1=new Person(“llishi”);
Personp1=new Person(“lishi”,10);
}
}
学习心得和体会:
当一个类中没有构造函数时,那么系统会默认给该类增加一个空参数的构造函数。
当在类中自定义了构造函数后,默认的构造函数就没有啦。
构造函数是类的一个特殊方法,这个方法用来生成实例时由系统自动调用,程序员无法直接调用。构造函数方法名同类名相同且参数为空。子类 继承父类后默认继承父类的构造函数,即:子类存在隐含方法:super(),如果子类重写构造函数则子类也隐含调用super()。 ------- <ahref="http://www.itheima.com" target="blank">android培训</a>、<ahref="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------