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

为什么我用有参的构造方法时候,只能输出语句,却不能给全局变量赋初值?

如题!求高手解释

public class Telphone {

float screen;

float cpu;

float mem;

public Telphone(){

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

}

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

screen=newScreen;

cpu=newCpu;

mem=newMem;

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

}

}



public class InitialTelphone {

     public static void main(String[] args) {

Telphone phone=new Telphone();

Telphone PH=new Telphone(5.0f,1.4f,2.5f);

}

}


提问者:EXRay 2016-01-25 16:11

个回答

  • 七九九
    2016-01-27 18:17:31
    已采纳

    public class InitialTelephone {
        public static void main(String[] args) {
            Telephone phone2=new Telephone(1.0f,2.0f,2.0f);
            System.out.println(phone2.screen);//输出phone2的屏幕大小
            System.out.println(phone2.cpu);//输出phone2的cpu
            System.out.println(phone2.mem);//输出mem
        }
    }

    您输入的参数有误,自动赋值3.5

    有参的构造方法执行了!
    3.5
    2.0
    2.0

    创建对象时,对象的参数本来就是不可见的。因为你没有要求输出这些参数,添加这些输出就可以了。

  • Coke吹雪
    2016-01-25 16:34:24

    http://img.mukewang.com/56a5dde500010d4f01450056.jpg前面加上this.就好了