static無法訪問非static變數和方法

2021-10-17 03:12:01 字數 1081 閱讀 3076

static是類的成員,與物件無關,優先於物件的載入,也就是說乙個類出現的時候,類裡面的static就已經載入了,但是此時還沒有去new物件,只有new了物件之後記憶體裡面才載入非static成員,所以在沒有new物件的時候,記憶體中的static是訪問不到非static的成員。這也就是為什麼在static方法裡面訪問非static方法時必須先new物件,然後再通過物件的應用來訪問非static成員!

注意:this和super指的都是物件,this指的是當前物件,super指的是當前物件的父類物件。由於內有new物件,所以在static成員裡面訪問不到this與super。

stack(棧)

存放基本型別的資料和物件的引用,即存放變數。

如果存放的是基本型別資料(非靜態變數),則直接將變數名和值存入stack中的記憶體中;

如果是引用型別,則將變數名存入棧,然後指向它new出的物件(存放在堆中)。

heap(堆)

存放new產生的資料。

data segment 也叫作方法區

分為靜態域和常量域。

靜態域存放在物件中用static定義的靜態成員(即靜態變數,同理,如果該靜態變數是基本型別則將變數名和值存入靜態域,如果是引用型別則指向new出的物件)。

常量池存放具體的值,也就是變數所代表的值 。

code segment

存放**。

下面我們一起看乙個例子: 紅色位置報錯

public class test20210121

public static void func2 ()

public static void main(string args)

public static int m2(int i, int j)

public static void main(string args)

}

vmware web access無法訪問

現象 esx的web訪問預設是關閉的,網上很多文章都說使用chkconfig vmware webaccess on來讓服務自動開啟,不過這樣操作之後重啟機器,web訪問還是還會出503無法訪問錯誤,esx不知道為什麼會自動把vmware webaccess 給禁用掉。解決方法 經過無數次嘗試之後發...

IIS無法訪問

一 iis預設 無法啟用 我的是windows xp,今天啟用iis,發現我的預設站點停止了,啟用的時候,提示引用內容在本地計算機無法啟動 world wide web publishing 服務錯誤127 找不到指定的程式.解決方案 是windowsxp kb939373 x86 chs.exe補...

無法訪問127 0 0 1

1 開啟internert資訊管理檢視iis是否啟動,且預設 時候已經開啟 2 開啟 看是否能訪問iis的預設網頁,能訪問則說明iis已經成功安裝到電腦上,可能是無法解析localhost 3 開始 命令 cmd ping localhost,看是否能ping通,從127.0.0.1上返回資訊,如果...