❶ java構造方法應該寫什麼位置
如果構造方法需要外部對象訪問,需要把構造方法設置成public
public age(int c, int d){
}
❷ java的隨機方法放在哪裡
放在javautil包下的。
此方法是完全同步的,可允許多個線程使用而不出現錯誤。但是,如果許多線程需要以極高的速率生成偽隨機數,那麼這可能會減少每個線程對擁有自己偽隨機數生成器的爭用。
為了Java代碼的完全可移植性,Java實現必須讓類Random使用此處所示的所有演算法。
❸ java中方法分配在內存的哪裡
方法在堆里,也叫引用類型.成員變數在棧里,是值類型.
字元串是引用型變數,所以也在堆里.
❹ java中的方法存放在哪裡如何查看
JDK 主目錄下面的一個名叫 src.zip的壓縮文件裡面,所有的java類和方法的源文件都在這裡面
如我電腦上的 C:\Program Files\Java\jdk1.6.0_10\src.zip
❺ Java的類成員變數和類成員方法是不是可以隨便放到哪裡的
根據面向對象的思維,一個方法必須放在其對應類,其他的類如果調用該方法,應該用自己實例化的對象在外部函數或者主函數去調用。
根據你意思:
public static Vector cards = new Vector();
這句話應該寫在外部類中,這樣所有內部類都認識cards了!
public static void post()
這句話是你定義的一個方法,在HelpDialog這個類里!因此要使用這個方法你必須在用到post()
方法的類里繼承HelpDialog這個父類,並且把post()方法實例化 ( public static void post(){}
)
❻ JAVA中類中的方法存儲在什麼地方
類載入時 方法信息保存在一塊稱為方法區的內存中, 並不隨你創建對象而隨對象保存於堆中。可參考《深入java虛擬機》前幾章。
另參考(他人文章):
如果instance method也隨著instance增加而增加的話,那內存消耗也太大了,為了做到共用一小段內存,Java 是根據this關鍵字做到的,比如:instance1.instanceMethod(); instance2.instanceMethod(); 在傳遞給對象參數的時候,Java 編譯器自動先加上了一個this參數,它表示傳遞的是這個對象引用,雖然他們兩個對象共用一個方法,但是他們的方法中所產生的數據是私有的,這是因為參數被傳進來變成call stack內的entry,而各個對象都有不同call stack,所以不會混淆。其實調用每個非static方法時,Java 編譯器都會自動的先加上當前調用此方法對象的參數,有時候在一個方法調用另一個方法,這時可以不用在前面加上this的,因為要傳遞的對象參數就是當前執行這個方法的對象。
❼ java中的實例方法存在哪
HI我,我對你的問題蠻感興趣的
類的實例方法在內存中是只有一份,不過肯定不會是第一個對象中,如果是第一個對象的話,那麼當第一個對象被銷毀的時候,那麼後面的對象就永遠無法調用了...
類的實例方法存在一個專門的區叫方法區,事實上類剛裝載的時候就被裝載好了,不過它們在"睡眠",只是這些方法必須當有對象產生的時候才會"蘇醒".(比如,一個輸出類的成員變數的方法,如果連對象都沒有,何來的輸出成員變數).所以,方法在裝載的時候就有了,但是不可用,因為它沒有指象任何一個對象。
而靜態的又不一樣了,靜態的東西存在靜態區,他們和類是一個等級的,就是說只要類被裝載,它們就可以直接用.(用類名來調用).他們不依賴與任何對象,所以也不能輸出任何對象的成員屬性.(除非成員屬性也是靜態的).
而你最後的一句話也是錯的,"類的所有數據在內存中只有靜態的才又空間".
當然不是,每個對象在new的時候都會在堆區中開辟內存,用來保存對象的屬性和方法.(實際上方法保存的只是方法區的引用,如果保存的是方法本身,那麼試想一下,有多少個對象就得有多少個方法,那麼又和第一點中"實例方法在內存中只有一份拷貝"相矛盾了)
好了,事實上內存圖很復雜和麻煩,算比較深的東西了,很多用JAVA多年的人也不太了解其原理,因為開發也不要用..
❽ java中的方法代碼存在了哪裡
類的實例方法在內存中是只有一份,不過肯定不會是第一個對象中,如果是第一個對象的話,那麼當第一個對象被銷毀的時候,那麼後面的對象就永遠無法調用了...
類的實例方法存在一個專門的區叫方法區,事實上類剛裝載的時候就被裝載好了,不過它們在"睡眠",只是這些方法必須當有對象產生的時候才會"蘇醒".(比如,一個輸出類的成員變數的方法,如果連對象都沒有,何來的輸出成員變數).所以,方法在裝載的時候就有了,但是不可用,因為它沒有指象任何一個對象。
而靜態的又不一樣了,靜態的東西存在靜態區,他們和類是一個等級的,就是說只要類被裝載,它們就可以直接用.(用類名來調用).他們不依賴與任何對象,所以也不能輸出任何對象的成員屬性.(除非成員屬性也是靜態的).
而你最後的一句話也是錯的,"類的所有數據在內存中只有靜態的才又空間".
當然不是,每個對象在new的時候都會在堆區中開辟內存,用來保存對象的屬性和方法.(實際上方法保存的只是方法區的引用,如果保存的是方法本身,那麼試想一下,有多少個對象就得有多少個方法,那麼又和第一點中"實例方法在內存中只有一份拷貝"相矛盾了)
好了,事實上內存圖很復雜和麻煩,算比較深的東西了,很多用JAVA多年的人也不太了解其原理,因為開發也不要用..
更多的問題可以去遠標培訓去問技術老師。
❾ java中方法必須寫在類體里嗎
是的,java一切都是以類的形式存在,方法是類的一部分,需要通過類才能進行方法的調用。
從內存存儲角度來說,java中找對應方法時,都是先找對應類實例,類實例是根據類來初始化內存的。如果方法在類外部,則無法找到該方法。
所以方法必須在類體里。