执行结果哪里不对?

、、同一包下第一个类

package com.imocc;


public class InitailTelephone {


/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

        //通过无参的构造方法构造对象

telephone phone =new telephone();

//通过有参的构造方法创造对象,并给对象中的实例变量赋初值

telephone phone2=new telephone(5.0f,1.4f,2.0f);


phone2.setScreen(6.0f);

System.out.println("Screen"+phone2.getScreen());

}

}

、、同一个包下第二个类

package com.imocc;


public class telephone {

private float screen;

private float cpu;

private float mem;

public float getScreen(){

return screen;

}

    public void setScreen(){    

    }

    public telephone(){

    System.out.println("无参构造方法执行了");

    }

    public telephone(float newScreen,float newCpu,float newMem){

    screen=newScreen;

    cpu=newCpu;

    mem=newMem;

    System.out.println("有参构造方法执行了");

    }

}


为什么执行结果是:

无参构造方法执行了

有参构造方法执行了

Screen5.0f


而不是:

无参构造方法执行了

有参构造方法执行了

Screen6.0f





卡乐乐
浏览 1304回答 3
3回答

onemoo

就像前一个回答中说的。setScreen method 没有参数,调用时却传入了参数,编译时会报错啊。

狂飙的蜗牛_1

  public void setScreen(){        }你这没有参数也没有方法体啊肯定set不成功

zzZerOrz

你的setScreen发法定义的是无参数的,调用的时候却传了参数,会报错吧
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java