我有一个烦人的问题,为什么当我第一次尝试使用在 CameraPhone 类编译器下立即声明的变量 imageSize 和 memorySize 编译此代码时给了我一个逻辑错误,但是当我在代码末尾声明变量时却可以正常工作???
假设存在一个电话类。定义一个包含两个实例变量的子类 CameraPhone:一个名为 imageSize 的整数,表示以百万像素为单位的大小(为简单起见,假设一个像素占用一个字节,因此百万像素等于兆字节)(即,2 表示每张图像是由 2 兆像素组成)和一个名为 memorySize 的整数,表示相机内存中的千兆字节数(即 4 表示 4 千兆字节的内存)。有一个构造函数,它接受与上述两个实例变量对应的两个整数参数,用于初始化各自的实例变量。还有一个名为 numPictures 的方法,它返回(作为整数)相机内存可以容纳的图片数量。不要忘记一千兆字节是 1,000 兆字节。
public class CameraPhone extends Phone {
public CameraPhone(int imageSize, int memorySize) {
this.imageSize = imageSize;
this.memorySize = memorySize;
}
public int numPictures() {
return memorySize * 1000 / imageSize;
}
private int imageSize; private int memorySize;
}