筆試題(靜態(tài)與非靜態(tài))
靜態(tài)成員和非靜態(tài)成員的區(qū)別?
答:
靜態(tài)變量使用 static 修飾符進行聲明,在類被實例化時創(chuàng)建,通過類進行訪問不帶有 static 修飾符聲明的變量稱做非靜態(tài)變量,在對象被實例化時創(chuàng)建,通過對象進行訪問一個類的所有實例的同一靜態(tài)變量都是同一個值,同一個類的不同實例的.同一非靜態(tài)變量可以是不同的值靜態(tài)函數(shù)的實現(xiàn)里不能使用非靜態(tài)成員,如非靜態(tài)變量、非靜態(tài)函數(shù)等
示例:
using System;using System.Collections.Generic;using System.Text; namespace Example01{ class Program { class Class1 { public static String staticStr = "Class"; public String notstaticStr = "Obj"; } static void Main(string[] args) { //靜態(tài)變量通過類進行訪問,該類所有實例的同一靜態(tài)變量都是同一個值 Console.WriteLine("Class1's staticStr: {0}", Class1.staticStr); Class1 tmpObj1 = new Class1(); tmpObj1.notstaticStr = "tmpObj1"; Class1 tmpObj2 = new Class1(); tmpObj2.notstaticStr = "tmpObj2"; //非靜態(tài)變量通過對象進行訪問,不同對象的同一非靜態(tài)變量可以有不同的值 Console.WriteLine("tmpObj1's notstaticStr: {0}", tmpObj1.notstaticStr); Console.WriteLine("tmpObj2's notstaticStr: {0}", tmpObj2.notstaticStr); Console.ReadLine(); } }}結(jié)果:
Class1's staticStr: Class
tmpObj1's notstaticStr: tmpObj1
tmpObj2's notstaticStr: tmpObj2
【筆試題(靜態(tài)與非靜態(tài))】相關文章:
動態(tài)禮儀與靜態(tài)禮儀12-13
講解靜態(tài)NAT配置「實例」08-09
php靜態(tài)成員變量分享11-25
RTK靜態(tài)控制測量原理方法08-14
設計靜態(tài)廣告BANNER的技巧10-04
考研復試面容及靜態(tài)禮儀01-20
淺談校園網(wǎng)靜態(tài)與動態(tài)內(nèi)部路由組建08-08
靜態(tài)頁面生成方案介紹10-06