函数的重载
定义:
1、两个或多个函数在同一个类当中;
2、函数名相同;
3、参数列表不同;
例子如下:
//类文件Aclass A{ //以下3个为成员函数 void funA(){ System.out.PRintln("没有参数的funA函数"); } void funA(int i){ //void为空的返回值,funA为函数名,括号内的为参数 System.out.println("带有整型参数的funA函数"); } void funA(int i ,double d){ System.out.println("带有两个参数的funA函数"); }}
//类文件testAclass testA{ public static void main(String args[]){ A a = new A();//创建类A的对象a a.funA();//使用对象a调用A的函数 a.funA(10); a.funA(1,2.5); }}
构造函数:类名()
构造函数不属于成员函数,而且没有返回值,构造函数名必须与类名相同。
当编译器对源文件进行编译时会检查是否有构造函数,如果没有的话,编译器会自动添加无参数,且函数体为空的构造函数。
//类文件Aclass A{ //构造函数没有返回值,构造函数名必须与类名相同 A(){ System.out.println("我是构造函数"); } }
//类文件A的对象testAclass testA{ public static void main(String args[]){ A a = new A(); }}
成员函数的调用采用 对象 .函数名
构造函数的调用采用 new + 构造函数
构造函数的作用:
1、当我们调用构造函数时,会产生这个类的对象。
2、可自行定义构造函数为成员变量赋初值,方便对象的参数传入。例子如下:
class Person{ Person(){ } String name; int age; Person(String n,int a){ //构造函数的重载 name = n; age = a; }}
class testPerson{public static void main(String args[]){//Person p1 = new Person();//p1.name = "zhangsan";//p1.age = 10;简化为以下代码Person p1 = new Person("zhangsan",10);System.out.println("p1的名字是"+p1.name+",年龄是"+p1.age);}}
当类文件中已经有了自定义的构造函数,那么进行编译时,编译器就不会添加无参数的构造函数了,再通过new ()产生新的对象时则会报错。
新闻热点
疑难解答