1. java中類成員變數和成員方法的區別
類的成員變數分為:類變數(又稱靜態變數,被static修飾的變數)和實例變數(不被static修飾的變數),另外,定義在函數內部的變數稱為局部變數,僅在函數內部有效。
而成員方法分為:類方法(又稱靜態方法,被static修飾的方法)和實例方法(不被static修飾的方法)。
例:class Demo{
static int a=0;//a是類變數或者靜態變數,static變數只能初始化一次,也就是說,如果前面 已經初始化過了,後面就不必再初始化了
int b=0;//b是實例變數,
//下面是實例方法
public void study{
int c=0;//這個就是局部變數,僅僅是在study這個函數內部才有效
}
//下面是靜態方法,靜態方法可以不用創建對象直接調用
static void learn{
int d=0;//局部變數
}
}
手敲不易,若有幫助,不勝榮幸
2. java類方法
所謂類方法,就是用static修飾的方法,可以通過類名調用
不加static關鍵字的方法叫實例方法,調用前必須創建實例
public Integer static getSum(int x,int y){
return x*y
}
3. static修飾的方法稱為用什麼形式調用
類方法是靜態方法,用static修飾的。
實例方法是不用static修飾的?
我覺得該選C,不過C是錯誤的,其他的都是對的啊。
你是弄錯了啊。
4. ios 類方法和實例方法的區別
類方法: 也被稱為靜態方法,指 static關鍵字修飾的方法。此類方法屬於類本身的方法,不屬於類的某一個實例(對象)。在類方法中不可以直接使用實例變數。其調用方式有三種,可直接調用、類名、方法名、對象名。
實例方法:指的是不用static關鍵字修飾的方法,每個實例對象都有自身的實例方法,互相獨立,不共享。其調用方式只能是對象名,方法名。
何時用靜態方法,何時用類方法?
實例方法: 當你給一個類寫一個方法,如果該方法需要訪問某個實例的成員變數時,那麼方法該被定義為實例方法。 一個類的實例通常有一些成員變數,其中含有該實例的狀態信息。而該方法需要改變這些狀態,那麼該方法需要聲明成實例方法。
類方法(靜態方法):它不需要訪問某個實例的成員變數,不需要改變某個實例的狀態,我們把該方法定義為靜態方法。
類方法和實例方法的誤區:
靜態方法常駐內存,實例方法不是。所以靜態方法效率更高,但占內存。。(錯誤的)
事實上,方法都是一樣,在載入時機和佔用內存上,靜態方法和實例方法是一樣的。在類型第一次被使用時載入,調用的速度基本沒有差別
靜態方法在堆上分配內存,實例方法在棧上(錯誤)
事實上,所有的方法都不可能在堆上或者棧上分配內存,方法作為代碼是被分配到特使的代碼內存區域,這個代碼內存區域是不可寫的。
實例方法需要先創建實例才可以調用,比較麻煩,靜態方法不用,比較簡單。(錯誤)
事實上,如果一個方法不訪問某實例成員變數或者不改變實例狀態,那麼就應該寫成靜態方法。
常用實例和類
第一種方式:聲明實,調用實例方法
當一個類有多個實例,例如學生這個類,實例可以有學生甲乙丙丁。etc 我們就用第一種方式,在多線程的情況下,只要每個線程創建自己的實例,那麼第一種方法通常是線程安全的
第二種:通過靜態的實例去調用實例方法
5. 3、下面關於類方法的描述,錯誤的是( )。 A、類方法在內存中只有一個副本,能被該類的所有實例共享,實
A是對的。
6. 有關JAVA的static問題
•static可以修飾變數、方法以及語句塊。
•用static修飾的成員稱為靜態成員。類的靜態成員屬於類,而不屬於某個特定的對象。
•由於靜態成員與類相關而與對象無關,所以用static修飾的變數或方法又稱為類變數或類方法。
•由於靜態成員屬於類,所以可以通過兩種不同的方法訪問靜態成員:
–類名.靜態成員
–對象名.靜態成員
靜態變數
•靜態變數在內存中存放在靜態存儲區,與對象的數據存放位置不同,是單獨存放的。
•不管創建了類的多少實例,整個類中靜態變數的副本只有一個,所有對象共享。
靜態變數實質上就是全局變數
靜態方法
•在靜態方法中,只能訪問其它的靜態成員,不能訪問類中的非靜態成員。
•構造方法不能定義為靜態方法。
•main()方法是一個靜態方法,因為它是程序的入口點,這可以使得JVM不創建任何對象就可以直接運行該方法。
•子類不能重寫父類的靜態方法,不能把父類的非靜態方法重寫為靜態方法。
靜態語句塊
•在類中,不屬於任何方法並且以關鍵字static引導的一對大括弧括起來的語句塊,稱為靜態語句塊。
•靜態語句塊僅在該類被載入時執行一次。
希望可以幫到你
7. JAVA中構造方法,實例方法,類方法,有什麼區別
構造方法:構造方法是用來構造類的對象的,方法名和類名相同沒有返回值。一般用 new 構造方法名() 來創建該類的對象。在不寫構造方法的情況下會有一個默認的無參構造方法,當然你也可以重寫和重載構造方法(建議你找一本《Java編程思想》看看,裡面講的很透徹)。
實例方法:簡單地說就是可以通過類的實例(某個對象)調用的方法,也就是我們正常情況下使用的方法。實例方法也稱成員方法(成員方法和成員變數的知識你可以參考《Java編程思想》)。
類方法:簡單地說就是直接可以用類名調用的方法,也就是被關鍵字static修飾的方法,它不需要創建類的對象來調用該方法。(關於static關鍵字的詳細用法你也可以在《Java編程思想》這本書中找到)。
《Java編程思想》是目前最好的Java參考書,網上有第3版的中文版電子書下的,第4版是英文的
8. java中,什麼叫類方法
你好
所謂類方法,就是用static修飾的方法,可以通過類名調用
不加static關鍵字的方法叫實例方法,調用前必須創建實例
謝謝
9. 在JAVA中實例方法和類方法有什麼區別啊分別可不可以用public修飾和static修飾
類方法又稱為靜態方法,使用static修飾,在類裝載(JVM功能之一)的同時分配內存(可以說是方法入口指針),可以用:類名.方法名調用,屬於類寬度,因此成為類方法。不用創建對象就可以調用。
實例方法是那些非靜態方法,是在創建對象的同時分配內存,所以這只屬於某個新創建的對象,因此稱為「實例方法」,必須通過新創建的對象名.方法名來調用。
public修飾的是 方法的 訪問許可權,實例方法和靜態方法都可以用public修飾,表示是所有其他類都可以使用。
static修飾的是 類方法,類變數也是由static修飾
希望能夠幫助你~~~
10. JAVA中定義靜態變數和方法到底有什麼用我都迷糊了。麻煩給說下,謝謝!
靜態的可以被直接訪問而不實例化自身再訪問
大型程序考慮內存佔用問題
超小程序直接靜態吧 方便些