public 在哪都可以訪問
private 私有的,只有在當前類的內部進行訪問
internal 只能在當前程式集中進行訪問(程式集=乙個.cs的檔案)
protected 受保護的,可以在當前類以及該類的子類中訪問
修改類的訪問修飾符是internal和public,類預設的訪問修飾符是internal
在同乙個程式集中,pulic和internal的許可權是一樣的
在同乙個程式集中internal許可權高於protected,但是出了這個程式集,protected的許可權高於internal
子類的許可權不能高於父類
下面這個類寫在lym.cs檔案
class person
}public class student:person
如果在另乙個程式集中訪問student這個類,我只需要匯入命名空間+新增引用,就可以在另乙個程式集中訪問student這個類
student s=new student();
s.age(12);------>此時會訪問到這個age
上述這麼寫有問題,會暴露父類的成員
改法:將lym.cs檔案中的
public class person
}public class student:person{
靜態和非靜態
靜態成員和靜態類被static修飾
例項成員和普通類不被static修飾
為什麼說靜態類中不能有例項成員????
因為靜態成員優於例項成員被載入到記憶體中,只有建立了物件,才會讓記憶體載入例項成員,
靜態類不能建立物件,所以靜態類中只有靜態成員,無例項成員
呼叫:靜態成員呼叫: 類名.靜態成員名
例項成員呼叫: 物件名.例項成員名
那普通類中既可以存在靜態成員,又存在例項成員
例項成員中既可以呼叫靜態欄位和普通字段
靜態成員中只能呼叫靜態字段,不能呼叫普通字段(靜態優先被載入到記憶體,此時還沒建立物件,那普通欄位就沒被載入到內容,所以訪問不了)
在例項成員函式中,可以訪問靜態欄位和普通字段
在靜態成員函式中,只可以訪問靜態字段
什麼時候使用靜態?
—>可以作為工具類(呼叫靜態類裡面的方法,直接類名.方法名就可以。普通類訪問類裡面的方法, 還要建立物件)
—>在整個專案中資源共享,正因為它是資源共享的,所以靜態成員必須要等到專案結束時才能將其釋放,
所以專案中我們應該少使用靜態成員
靜態修飾符
靜態修飾符 static static 靜態修飾符1.修飾成員變數 2.修飾方法 1.用來修飾成員變數 乙個成員變數被static修飾叫靜態成員變數,如果沒有被修飾叫非靜成員變數。訪問方式 1 用物件進行訪問 物件名 變數名 2 可以通過類名來訪問 類名 變數名 需要注意的點 1 不要認為所有的變數...
Java訪問修飾符和非訪問修飾符
private public protect default 訪問許可權 注意一下方法的繼承規則 1 父類宣告為public的方法,子類也必須是public 2 父類宣告的proteted的方法,子類可以是protected或public,不能是private 3 父類宣告的private的方法,不...
static靜態修飾符
靜態成員歸整個類所有,不依賴類特定的例項,是被類的所有例項共享。只要這個類被jvm載入,就可以根據類名在全域性資料區域內找到它們。因此,靜態成員可以在任何物件建立之前訪問而無需訪問物件。static關鍵字修飾的成員變數稱為靜態成員變數,簡稱靜態變數。靜態變數是屬於類,但是不依賴類特定的例項。靜態變數...