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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Sword 于 2013-5-18 22:06 编辑

构造函数和一般函数的区别?详细点、非诚勿扰

10 个回复

倒序浏览
构造方法
       是一个特殊的方法,主要用于初始化新创建的对象,构造方法的方法名要求与类名相同,而无返回值。在创建对象时,会自动调用构造方法对对象进行初始化,
另外,构造方法只能通过new运算符来调用,用户不能直接调用 。并且一个类中可以有多个构造方法,当类中有多个 构造方法时,将根据参数的不同来决定 要用哪个
构造方法。、
普通方法:
      必须得有返回值,名字可以随便起。可以通过对象来调用,或者直接通过类名来调用。可以被一个对象进行无限次的调用,而构造方法只是在初始化对象的时候调用一次。
注意:
    普通方法的返回值可以为void,它并不是无返回值,构造方法无返回值,那么它连void的都不能写。如果写了的话,就不会自动调用该方法了。

评分

参与人数 1技术分 +1 收起 理由
刘胜寒 + 1

查看全部评分

回复 使用道具 举报
构造函数的作用就是初始化,你需要创建对象时候安排的一些事情,比如赋值、调用函数等等,它不需要你显示的去调用,而是在你new一个对象的时候自动执行,如果你不写这个构造函数,系统就会默认的给你一个没有参数的构造函数,它没有任何返回类型,所以不需要什么int、void等。
一般函数就是用来处理你需要执行的“动作”,在里面写各种命令等,函数的定义不能嵌套,比如public int test(){  public void test1(){....}},这样就不对了。
欢迎追问
回复 使用道具 举报
构造函数函数名与该类类名相同。普通函数根据功能起名。构造函数是对象被创建时初始化成员的,用new. 普通函数是针对实际参数的。
回复 使用道具 举报
构造函数:构造函数的方法名要求与类名相同,而无返回值。用于初始化新创建的对象,在创建对象时,会自动调用构造函数对对象进行初始化,而且只调用一次,另外,构造函数只能通过new运算符来调用,用户不能直接调用 。并且一个类中可以有多个构造函数,当类中有多个构造函数时,是根据参数的不同来决定要用哪个构造函数
一般函数:名字可以随便起,可根据函数的功能而起名,可以通过类名或对象调用,并且可以调用多次。

评分

参与人数 1技术分 +1 收起 理由
刘胜寒 + 1

查看全部评分

回复 使用道具 举报
楼主,请你注意问问题的语气,别忘了你是在向别人请教问题
回复 使用道具 举报
呵呵,问问题要谦虚点,非诚勿扰都来了。情何以堪
回复 使用道具 举报
构造函数与其他方法的区别
1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同.
2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.
3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.
4.当定义一个类定义的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略不去c#编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点

构造函数和一般函数都是可被调用的方法,
一般函数的调用需要 : 类名.静态方法名() 或者 类实例名.实例方法() 这样调用
构造函数不用通过代码调用 ,当运行这样的语句: 类名 实例对象=new 类名();系统就会调用构造函数

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
构造函数:对象创建时,就会调用对应的构造函数,将对象初始化。
                                                        对象创建时,只能被调用一次。
                                一般函数:对象创建后需要显式的调用
                                                        可以显式的调用多次
回复 使用道具 举报
构造函数和一般函数的区别:

1从功能上的区别:
构造函数是给对象初始化的
一般函数是因为对象需要满足某种功能定义的
2从执行上的区别
构造函数,是对象创建的时候被执行,不用调用。
一般函数是什么时候调用,就什么时候执行,不调用就永远不执行。

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
推荐一本书《疯狂java讲义》,看前面的基础部分,讲的不错:方法、数组、引用等内容。
基础知识讲的蛮细。到了面向对象那部分就不是特别通俗了。对比下还是
老毕讲的生动形象。现在回过头看老毕讲面向对象的确很好懂。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马