特点:
1.函数名与类名相同;
2.不用定义返回值类型;
3.不可以写return语句;
作用:给对象进行初始化。
注意:
1.默认构造函数的特点:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数;
2.多个构造函数是以重载的形式存在的。
构造函数和一般函数在写法上有不同,在运行上也有不同:
1.构造函数是在对象一建立就开始运行,给对象初始化;
2.一般方法是对象调用才执行,是给对象添加对象具备的功能;
3.一个对象建立,构造函数只运行一次;
4.一般方法可以被该对象调用多次。
什么时候定义构造函数:
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
构造代码块:{........}
作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。
和构造函数的区别;
1.构造代码块是给所有对象进行统一初始化;
2.构造函数是给对应的函数初始化。
构造代码块中定义的是不同对象共性的初始化值。
代码:
class Person1
{
private int age;
private String name;
public void setName(String n){
name = n;
}
public String getName(){
return name;
}
//构造代码块。优于构造函数执行。
{
cry();
}
Person1(){
System.out.println("age="+age);
}
Person1(int age){
System.out.println("age="+age);
}
Person1(int age,String name){
System.out.println("age="+age+",name="+name);
}
public void cry(){
System.out.println("cry...");
}
}
class PersonDemo1{
public static void main(String[] args)
{
Person1 p1 = new Person1();
Person1 p2 = new Person1(20);
Person1 p3 = new Person1(40,"张三");
p3.setName("李四");
System.out.println(p3.getName());
}
} |
|