Java 25天基础-DAY 05-面向对象-构造函数

/*
构造函数:

对象一建立,就会调用对应的函数。

构造函数的作用,可以用于给对象进行初始化。(现实生活中的一些事物,一出现就具备的行为)

当一个类中没有定义构造函数时,系统会默认给该类加入一个空参数的构造函数
下面的空参数构造函数是Person(){}

当在类中定义了构造函数的话,系统就不再定义空参数的构造函数。

构造函数和一般函数在写法上有不同

在运行上也有不同
构造函数是在对象一建立就运行,给对象初始化。
而一般函数是对向调用才执行,给对象添加对象具备的功能。

一个对象建立,构造函数只运行一次。
而一般方法可以被该对象调用多次。
*/
class Person
{


{
    System.out.println("cry..........");//构造代码块,调用就执行一次。
}

private String name;
private int age;

public void setName (String n)
{
    name = n;
}
public String getName ()
{
    return name;
}

/* public void setAge (int a)

{
    age=a;
}
public int getage()
{
    return age;
}

*/

Person()
{
    System.out.println("A: name="+name+",,age="+age);

// System.out.println("cry..........");
// cry();

}

Person(String n)
{
    name=n;
    System.out.println("B: name="+name+",,age="+age);

// System.out.println("cry..........");
// cry();

}
Person(String n,int a)
{
    name=n;
    age=a;
    System.out.println("C: name="+name+",,age="+age);

// System.out.println("cry..........");相同代码使用函数代替。
// cry(); 都调用这个函数也比较重复,使用构造代码块代替。

}

/* public static void cry ()

{
    System.out.println("cry...........");
}

*/
}
class gzhs
{

public static void main(String[] args) 
{
    //Person p = new Person();
    //P.cry();一个对象只能cry一次
    Person p1 =new Person("赵四");
    p1.setName("令狐冲");//一般函数可以执行多次。
    p1.setName("jack");
    System.out.println(p1.getName());
    //Person p2 = new Person("田娃",20);
}

}

上一篇:Java 25天基础-DAY 06-面向对象-静态应用---工具类


下一篇:Java 25天基础-DAY 06-面向对象-单例模式