私はJavaの初心者です。という概念を静的に理解しようとしています。はJavaを学ぶために買った本です。しかし、プログラムでの私の実験のために、私は非常に混乱しています。本書では、staticはこのキーワードを参照できないと述べています。静的ではなく通常の関数を使用するまでは問題ありません。これで、このキーワードで静的変数にアクセスできました!!なぜ私はこのキーワードをJavaの静的変数に使用できるのですか
import java.util.Random;
class Static {
public static void main(String[] com){
System.out.println("By default the mobile is having "
+ Mobile.RAM + "gigabytes of RAM and"
+ Mobile.CameraMP + " mega pixels of camera");
Mobile S4mini = new Mobile("S4 Mini" , 4 , 16);
S4mini.displayMobileSpecs(true);
Mobile mob2 = new Mobile("fdf" , 23 , 45);
mob2.displayMobileSpecs(true);
S4mini.displayMobileSpecs(false);
}
}
class Mobile{
static int RAM;
static int CameraMP;
Random rand = new Random();
double InternalMemorySpace;
double ExternalMemorySpace;
String modelNo;
Mobile(String modelName,double internalMem , double externalMem)
{
this.modelNo = modelName;
this.InternalMemorySpace = internalMem;
this.ExternalMemorySpace = externalMem;
}
static {
RAM = 4;
CameraMP = 12;
System.out.println("The Static part of the class is executed");
}
void displayMobileSpecs(boolean change){
if(change)
this.RAM = (int) rand.nextInt(8) + 2;
System.out.println(this.RAM + " , " + Mobile.RAM);
}
}
だから、静的変数はこれを使用してアクセスすることができることではなく、静的関数または何に(下記のコードでdisplayMobileSpecs関数を参照)?私は本当に混乱しており、これは私が見ているように非常にばかげた質問ですが、私に答えてください。
(注意:ところで、プログラムで使用されるモバイルのばかげた例を気にしないでください感謝:)。)
静的メンバーは 'this'のようなインスタンス参照で参照できますが、そうしないでください。 –
私は同意する.....しかし、私の答えはOPの質問に限られていた、あなたはそれを取っているとドン。それを加えていただきありがとうございます – mhasan