问答详情
源自:8-6 Java 中的构造方法

构造方法问题

http://img.mukewang.com/57a4a89c000161c807870483.jpg

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

提问者:qq_TheFirebird_03629981 2016-08-05 22:58

个回答

  • qq_若即若离_11
    2016-08-08 11:34:09

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

  • HelloWorldAgain
    2016-08-05 23:25:38

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

  • 夏季相见不Ru懷念3211604
    2016-08-05 23:25:04

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

    如: 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个构成函数

    这涉及到了方法的重载

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