在学习类的部分时,建立一个对象是这样建立的:(假设Person是类)Person  p = new  Person();我一直很费解为何new后面是一个函数形式,

今天学完构建方法后,才恍然大悟,豁然开朗。。。。。

依旧以person为例:

class Person
{
    private int age;
    set_age(){}
    get_age(){}
}
//其实上面代码实质如下:
class Person
{
    private int age;
    Person(){}//系统加上一个空构造函数,原本用来初始化对象属性的,由于为空,所以属性为默认值0
    set_age(){}
    get_age(){}
}
再举一个一般的例子来解释构造函数的用法:

class Person
{
    private int age;
    Person(int a)//名字必须与类名相同,不用写返回值类型,参数可为空
    {
        age=a;
    }
    set_age(){}
    get_age(){}
}
class Demo
{
    ......main(...)
    {
        Person p = new Person(5);//new的时候就调用构造方法,起初始化作用,age=5
    }
}
与所有方法一样,构造方法一样有重载:

class Person
{
    private int age;
    private String name;
    Person(int a)
    {
        age=a;
    }
    Person(int a,String n)//同名不同参数列表实现重载
    {
        age=a;
        name=n;
    }
    set_age(){}
    get_age(){}
    set_name(){}
    get_name(){}
}
class Demo
{
    ......main(...)
    {
        Person p1 = new Person(5);//只初始化年龄
        Person p2 = new Person(5,LiLy);//既初始化年龄又初始化名字
    }
}



posted on 2014-06-21 20:12  ZouCharming  阅读(249)  评论(0编辑  收藏  举报