我对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并获得结果。在实际应用中这是一个很好的方法。对于初学者来说,了解变量的创建,类型匹配等将更容易理解。没有其他的。

10-08 07:06