谁能解释一下最后一句为什么输出1000?

c599013081 2011-04-21 08:52:48
public class Rectangle {
static double length;
double width;

public void showArea() {
System.out.println(“L=" + length + ",W=" + width + "\tA=" + length * width);
}
}
public class RectangleDemo {
public static void main(String[] args) {
Rectangle r1 = new Rectangle();
Rectangle r2 = new Rectangle();

r1.length = 30;
r1.width = 20;
r1.showArea(); // L=30.0,W=20.0 A=600.0
r2.length = 50;
r2.width = 40;
r2.showArea(); // L=50.0,W=40.0 A=2000.0
r1.showArea(); // L=50.0,W=20.0 A=1000.0 r1的面积为什么变了?
}
}
...全文
158 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
szc200890 2011-04-22
  • 打赏
  • 举报
回复
因为你的length是静态的,所以当你用r2.length = 50时,就会把ri.length=30覆盖了。所以就等于1000
c599013081 2011-04-22
  • 打赏
  • 举报
回复
很感激各位的回复!我懂了,我来完善一下,static double length;

length是静态的,所有的对象共用一个length;所以r2.length=50改变了r1.length=30的值,也就是说,现在的length=50;因为要求输出 r1.showArea(); r1的width是非静态的double型,故 r1.width = 20不变,不会因为r2.width = 40改变而改变。故最终结果为r2.length * r1.width =50*20=1000.0
不知道解释的好不好?

大家可以加我QQ:599013081 .我们共同进步!!
UPC_思念 2011-04-21
  • 打赏
  • 举报
回复
static声明的变量是属于某个类的,它不属于任何类的实例
dgcxyc 2011-04-21
  • 打赏
  • 举报
回复
因为你的length是用static修饰的。
只要是还在作用范围内,不管是谁对它进行修改,它的值就会保存为修改后的值得。
gentleboy2009 2011-04-21
  • 打赏
  • 举报
回复
去看下书里面的static修饰符的作用就明白了
skysmile007 2011-04-21
  • 打赏
  • 举报
回复
static double length;

长是静态的 所有的对象共用一个length;

r2改变了 length;

r1的也改变了
学习人工智能,机器学习都离不开数学基础和编程知识。无论你是数据科学的初学者还是已经从事人工智能开发的有经验人员,这门课都适合于你。为什么这么说?首先人工智能和机器学习本质上就是算法,而算法就是数学及统计学以及编程的结合。当前市场上有许多开源的软件包如SKLEARN确实可以帮助没经验的或缺乏数学或算法基础的人实现机器学习模型及预测,但这些工具无法使你真正懂得算法的本质或来源,或者无法使你在不同场合下灵活运用及改进算法。记住,在实际工作中找到适合应用场景的解决方案是最难但是最重要的。但这离不开数学基础和算法理解。比如,线性回归是一类普遍的机器学习算法,所有的机器学习软件都有现成的方法实现模型,但如果在训练数据中加入几条新数据,那么新建立的模型和原来的模型有和联系或不同?再比如,为什么深度神经网络中的Sigmoid函数一般只用到输出层?神经网络的向后传播理论如何与泰勒展开和复合函数的偏导数联系在一起?人工智能中推荐系统和文字向量如何与矩阵的奇异分解以及特征向量联系?模型中对标签进行数据变换如何影响预测值?所有这些问题的答案,你都可以从本课中找到线索。本课系统地讲述了有关人工智能,机器学习背后的数学知识。特别指出,微积分和代数知识是本课的核心。统计学基础被安排在另外的课程中。除此之外,我在每一章节或主要知识点后都安排了各类程序以解释和回顾所学到的东西。最后要提到的是,这不是一门工程项目实践课。但我会另外专门安排有关人工智能,机器学习的实践课程

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧