public class Rect{
double width,height,area;
void setWidth(double width){
if (width>0){
this.width=width;
}
}
void setHeight(double height){
if (height>0){
this.height=height;
}
}
double getWidth(){
return width;
}
double getHeight(){
return height;
}
double getArea(){
area=width*height;
return area;
}
}
public class Example4_4 {
public static void main(String args[]){
Rect rect=new Rect();
double w = 12.76,h = 25.28;
rect.setHeight(w);
rect.setWidth(h);
System.out.println("矩形对象的宽"+rect.getWidth()+"高"+rect.getHeight());
System.out.println("矩形的面积"+rect.getArea());
System.out.println("更改向对象的方法参数传递值得w、h变量的值为100和256");
w=100;
h=256;
System.out.println("矩形对象的宽"+rect.getWidth()+"高"+rect.getHeight());
}
}
因为你没有再set进去啊,当然还是原来的值
楼上说的对,你应该再rect.setHeight(w); rect.setWidth(h); 或者直接System.out.println("矩形对象的宽"+w+"高"+h);
因为w、h都是double基本数据类型的,是直接放在常量池的,修改值不会影响到rect已经set的值,如果是对象类型就会改变