/*
对象一建立就会调用与之对应的构造函数。
构造函数的作用:可以用于给对象进行初始化。
构造函数的小细节:
当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。
当在类中自定义了构造函数后,默认的构造函数没有了。
构造函数和一般函数在写法上有不同。
在运行上也有不同。
构造函数是在对象一建立就运行,给对象初始化。
而一般方法是对象调用才执行,给对象添加具备的功能。
一个对象建立,构造函数只运行一次。
而一般方法可以被对象调用多次。
什么时候定义构造函数呢?
当分析事物时,该事物存在就具备了一些特性或者行为,那么将这些内容定义在构造函数中。
*/
class Person
{
private int age;
private String name;
//********************三种构造函数*******************************
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 void cry()
{
System.out.println("crying.......");
}
public void setName(String n)
{
name=n;
}
public String getName()
{
return name;
}
}
class GouzaoFunction
{
public static void main(String[] args)
{
Person p1 = new Person();//新建一个对象p1,p1初始化后有了默认的姓名和年龄
Person p2 = new Person("lisi");//新建一个对象p2,p2初始化后有了传入的姓名,和默认的年龄
Person p3 = new Person("xiaoliu",10);//新建一个对象p3,p3初始化后有了传入的姓名,和传入的年龄
p2.setName("libusi");//p2更改的姓名
System.out.println("p2.change name as ========"+p2.getName());
}
}