在学习类的部分时,建立一个对象是这样建立的:(假设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);//既初始化年龄又初始化名字 } }