此题构造方法使用的参数是float newCpu之类的,对象调用构造方法时直接就可以把值赋给参数,那为什么还要在构造方法中把成员变量float cpu的值赋给float newCpu?这不是多此一举吗?通过代码已经验证此问题(将成员变量注释掉了),希望打什么解答下
package object1;
public class Telphone {
/*
float pingmu;
float cpu;
float neicun;
*/
public Telphone(){
System.out.println("这个课程好!");
}
public Telphone(float x,float y,float z){
if(x<3.0f){
x=3.5f;
System.out.println("您输入的尺寸有误,自动更改为3.5");
}
if(y<1){
y=1.2f;
System.out.println("您输入的信息有误,自动更改为1.2");
}
if(z<1.5){
z=2.0f;
System.out.println("您输入的信息有误,自动更改为2.0");
}
System.out.println("有参的构造方法执行了");
System.out.println("屏幕:"+x);
System.out.println("cpu:"+y);
System.out.println("内存:"+z);
}
}
在不需要通过使用对象去获取其属性值是确实可行,但是这只是最普通的情况。如果你把它们注释掉,之后使用get和set方法去获取某个对象的属性值时,你就会发现无法实现了。所以,还是把成员变量定义好才行。
还是把成员变量定义好
因为你这段代码根本没有调用过成员变量,所以注释掉也没什么问题。在前面加一个System.out.println(phone2.cpu);就有区别了
便于区分