为了账号安全,请及时绑定邮箱和手机立即绑定

构造方法问题

http://img1.sycdn.imooc.com//57a4a89c000161c807870483.jpg

其实我一直有个问题,public Telphone();。是如何调用方法的,如果当俩个方法都是无参或有参,它是如何分辨是方法1还是方法2的,我指的是运作过程。是按照调用顺序调用1对应方法1吗?

正在回答

3 回答

函数重载,方法名一样,系统会有一个默认的无参函数,如果有一个函数为有参函数,调用哪个取决于参数的类型,对号入座

0 回复 有任何疑惑可以回复我~

无参的时候是调用方法1的,有参的时候是调用方法2的。这个实际上应该属于方法重写(最终调用哪个方法具体还是看参数的不同的)。比如说     Telphone tel=new Telphone();  调用的方法1。而        Telphone tel=new Telphone(1.1f,1.2f,3.4f);  则调用了方法2。具体调用哪个构造方法还是看参数的。

0 回复 有任何疑惑可以回复我~
#1

qq_TheFirebird_03629981 提问者

我的意思是如果俩个方法都是无参的,那么默认是都重第一个开始调用,还是第一个调用1,第二个调用2吗?
2016-08-06 回复 有任何疑惑可以回复我~
#2

爻爻零 回复 qq_TheFirebird_03629981 提问者

两个都是无参都调用1
2016-08-15 回复 有任何疑惑可以回复我~

不传参时,默认调用无参构造方法;传参时,会根据你传过去的参数类型,参数个数,进行分辨;

如: 1.public Telphone(){//代码} ; 2.public Telphone(int a){//代码} ;3.public Telphone(int a,int b){//代码} ;

4.public Telphone(String a,int b){//代码} ;

Telphone i = new Telphone(); 什么不传默认调用第1个构成函数

Telphone i = new Telphone(12,13); 传了两个int类型的参数,调用第3个构成函数

Telphone i = new Telphone("你好",13);传入一个String类型和Int类型参数,调用第4个构成函数

这涉及到了方法的重载

方法名相同,参数类型,个数不同

3 回复 有任何疑惑可以回复我~
#1

阿斯arth

谢谢,明白了
2016-08-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530553    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

构造方法问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信