靜態成員和非靜態成員的區別?
答:
靜態變量使用 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.69K