[英]Static public and private access in example
問題是:
編寫一個包含以下內容的類Counter
的定義:
一個名為counter的實例變量,類型為int
。
一個名為limit
類型為int
的實例變量。
名為nCounters
靜態int
變量,已初始化為0。
構造函數采用兩個int
參數,將第一個參數分配給counter
,將第二個參數分配給limit
。 它還將一個添加到靜態變量nCounters
。
一種名為increment
的方法。 它不帶參數或不返回值; 如果
實例變量counter
小於limit
,增量只需向實例變量counter
。
一種稱為decrement
的方法,也不接受參數或返回值; 如果
counter
大於零,它只是從counter
減去1。
一個名為getValue
的方法,該方法返回實例變量counter
的值。
名為getNCounters
的靜態方法,該方法返回靜態變量的值
nCounters
。
我的困境
該代碼工作正常,但我想知道以下內容:
為什么第一個靜態私有和第二個靜態私有?
我的代碼:
public class Counter
{
private int counter;
private int limit;
private static int nCounters = 0;
public Counter (int x, int y)
{
counter = x;
limit = y;
nCounters++;
}
public void increment ()
{
if( counter < limit)
{
counter++;
}
}
public void decrement ()
{
if(counter > 0)
{
counter--;
}
}
public int getValue ()
{
return counter;
}
public static int getNCounters ()
{
return nCounters;
}
}
第一個靜態變量nCounters
是私有的,因為您想在您的類中對其進行控制-您不想讓Counter
之外的任何代碼修改它。 但是,您希望能夠在Counter
之外讀取其值,因此getNCounters()
方法是公共的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.