靜態成員和非靜態成員的區別?
答:
靜態變數使用 static 修飾符進行宣告,在類被例項化時建立,通過類進行訪問不帶有 static 修飾符宣告的變數稱做非靜態變數,在物件被例項化時建立,通過物件進行訪問一個類的所有例項的同一靜態變數都是同一個值,同一個類的不同例項的.同一非靜態變數可以是不同的值靜態函式的實現裡不能使用非靜態成員,如非靜態變數、非靜態函式等
示例:
using System;using ric;using ; namespace Example01{ class Program { class Class1 { public static String staticStr = "Class"; public String notstaticStr = "Obj"; } static void Main(string[] args) { //靜態變數通過類進行訪問,該類所有例項的同一靜態變數都是同一個值 eLine("Class1's staticStr: {0}", icStr); Class1 tmpObj1 = new Class1(); taticStr = "tmpObj1"; Class1 tmpObj2 = new Class1(); taticStr = "tmpObj2"; //非靜態變數通過物件進行訪問,不同物件的同一非靜態變數可以有不同的值 eLine("tmpObj1's notstaticStr: {0}", taticStr); eLine("tmpObj2's notstaticStr: {0}", taticStr); Line(); } }}結果:
Class1's staticStr: Class
tmpObj1's notstaticStr: tmpObj1
tmpObj2's notstaticStr: tmpObj2
筆試題(靜態與非靜態)
文思屋
人氣:5.8K