我对Java相对较新(我正在学习AP计算机科学),而我所着的《 Big Java》一书提出了这个问题:
考虑以下Square类的实现:
public class Square {
private int sideLength;
private int area; // Not a good idea
public Square(int length) {
sideLength = length; }
public int getArea() {
area = sideLength * sideLength;
return area; }
}
为什么为该实例引入实例变量不是一个好主意
区?重写该类,以便该区域是局部变量。
我确定答案对于经验丰富的编码人员来说是显而易见的,但是我真的不确定为什么将area设置为实例变量是一种不好的方法。任何指导将不胜感激!
最佳答案
我不确定作者的意思(其他),我想到的一件事是,每次实例化对象时,它只会占用内存中的多余空间。您可以将简单方法主体编写为:
public int getArea() {
return sideLength * sideLength;
}
这样,您就不会占用内存中的任何额外空间,而是将计算结果发送到CPU并获得结果。在实际应用中这是一个很好的方法。对于初学者来说,了解变量的创建,类型匹配等将更容易理解。没有其他的。