构造函数与其他类方法的区别

102 篇文章 2 订阅
42 篇文章 1 订阅
区别:
1、构造函数的函数名称与类名同名,其他方法(函数)名称可以自定义。
2、构造函数仅在对象被创建时系统会根据给定的参数以及类中的构造函数定义进行选择调用,如果类中没有定义构造函数,系统默认会提供一个无参构造空函数,什么都不会做,只是满足接口要求,构造函数不能被显式调用。其他函数根据程序员需要而调用,且必须显式调用。
3、由于对象创建后,系统必须返回新建对象的地址,赋值给指针变量(C++,C#中是将引用赋值给对象变量,其实一样,内部也是对象地址),那么换句话说,返回接口被系统占用了,因此构造函数就不能返回任何类型值,所有带返回值构造函数的定义编译器都不会通过。结果就是构造函数没有也不能有返回类型,而其他函数随意。
4、由于构造函数的作用只是在创建对象时用来初始化成员变量和对象的,因此构造函数不能被继承也不能使用接口。换句话说,因为构造函数只在对象创建时会被调用,其他情况下永远不会被调用,因此如果对一个类定义一个接口,接口中提供了构造函数的接口的话,该函数接口是永远无法被显式调用的,显得多余了,因此如果为构造函数定义接口,编译器会报错。(new一个对象的时候new的是类,不会new接口)
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值