码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象基础:函数重载和构造函数

时间:2014-10-23 01:14:21      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   使用   java   strong   sp   

函数的重载

定义:

1、两个或多个函数在同一个类当中;

2、函数名相同;

3、参数列表不同;

例子如下:

//类文件A
class 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函数");
      }
}

  

//类文件A的对象testA
class 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);
      }
}

bubuko.com,布布扣

 

构造函数:类名()

构造函数不属于成员函数,而没有返回值,构造函数名必须与类名相同。

当编译器对源文件进行编译时会检查是否有构造函数,如果没有的话,编译器会自动添加无参数,而函数体为空的构造函数。

//类文件A
class A{
      //构造函数没有返回值,构造函数名必须与类名相同
      A(){
           System.out.println("我是构造函数");
      }    
} 
//类文件A的对象testA
class 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 ()产生新的对象时则会报错。

 

面向对象基础:函数重载和构造函数

标签:style   blog   http   color   ar   使用   java   strong   sp   

原文地址:http://www.cnblogs.com/chavez-wang/p/4044736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!