A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

构造方法相比普通方法在编译运行时、程序执行性能方面以及作用有什么区别?  为什么要有构造方法?

评分

参与人数 1技术分 +1 收起 理由
张然龙 + 1 问题虽不深,但新手不容易 给一分吧, 别忘.

查看全部评分

4 个回复

倒序浏览
构造方法是为了传递参数。A类的构造方法  在其他类中需要A类中的参数的时候  就可以用构造方法 回答的不是很完美 你再多看看。
回复 使用道具 举报
构造方法时为了实例化(类)对象而存在的。因为你是实例化本类的对象,所以构造方法名和类名是一样的。
构造方法没有返回值:
       因为构造方法里面封装的都是类的初始化信息,只是初始化不对外提供信息,因此是没有返回值的(不是返回值为null)。我们可以根据自己的需要选择需要初始化的信息,因此构造方法也可以重构。
       如果显示写构造方法,则在初始化对象的时候,默认调用空参数的。
  一般方法:其实也叫功能函数。因为是定义的功能说明要对外提供服务,那么你就必须指定你要服务的类型了(返回值为int  void 。。。。。)
回复 使用道具 举报
  1. class Person
  2. {
  3.         private int age;
  4.         Person()//自定义空参数构造函数
  5.         {
  6.                 System.out.println("无参数构造方法");
  7.         }
  8.         Person(int age)//自定义有参数构造函数
  9.         {
  10.                 this.age = age;
  11.                 System.out.println("有参数的构造方法");
  12.         }
  13.         public void method()//一般函数
  14.         {
  15.                 System.out.println("一般成员方法");
  16.         }
  17. }

  18. class PersonDemo5
  19. {
  20.         public static void main(String[] args)
  21.         {
  22.                 Person p = new Person();//一个对象建立,构造函数只运行一次
  23.                 Person p1 = new Person(20);
  24.                
  25.                 p.method();//被对象多次调用
  26.                 p.method();
  27.                 p.method();
  28.         }
  29. }
复制代码
上边是相关代码,下边有文字分析:
1、        构造函数:
        对象一建立就会调用与之对应的构造函数(注意“对应”的含义),
        构造函数是给对象进行初始化的。

        构造函数的一个小细节:当一个类中没有定义构造函数时,那么系统会给
        该类加入一个空参数的默认构造函数
        当类中你自己定义了构造函数,系统不会自动构造默认空参数的构造函数。

2.  什么时候定义构造函数:
        当分析一种事物时,如果该事物存在就具备一些特性或者行为,那么就将该内容定义在构造函数内。

3.        构造函数和一般函数在的运行上的特点:
        构造函数是在对象一建立就运行,给对象初始化。
        而一般函数,对象调用才执行,是给对象添加具备的功能。
        一个对象建立,构造函数值运行一次
        而一般方法可以被该对象调用多次

评分

参与人数 1技术分 +1 收起 理由
张然龙 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 z1342802487 于 2014-5-5 21:33 编辑

构造方法是一种特殊的方法。Java中的每一个类都有构造方法。用来初始化该类的一个新的对象。用new运算符开辟了新建对象的内存空间后,需要用构造方法来初始化这个新建对象 。
  构造方法有以下特点:
  (1)和类名相同的名称。
  (2)不返回任何数据类型,甚至不用加void,这是因为类的构造方法隐含的返回类型是类本身。
  (3)构造方法的作用是对类的对象进行初始化。
  (4)在创建一个类的新对象时,系统会自动调用该类的构造方法。    (5)一个类中可以有多个构造方法,方法名相同,但参数类型和数量是不同的,这种形式在程序设计中被称为方法重载(overload)
  1. class A
  2.         {
  3.                 private String name;
  4.                 A()
  5.                 {
  6.                         System.out.println("创建了一个A对象");
  7.                 }
  8.                 A(String name)
  9.                 {
  10.                         this.name=name;
  11.                         System.out.println("创建了一个A对象名子为:"+this.name);
  12.                 }
  13.         }
  14. public class Test
  15.         {
  16.                 public static void main(String[] args)
  17.                         {
  18.                                 A a1 = new A();
  19.                                 A a2 = new A("a2");
  20.                         }
  21.         }
复制代码





评分

参与人数 1技术分 +1 收起 理由
张然龙 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马