找到 2637 篇文章 關於 Java

為什麼我們應該在 Java 中使用 StringBuffer 而不是 String?

raja
更新於 2020年2月11日 08:04:56

762 次瀏覽

StringBuffer 是一個執行緒安全的、可變的字元序列。與 String 類(不可變)不同,StringBuffer 類是可變的。也就是說,我們可以更改 StringBuffer 物件的內容。當我們修改 StringBuffer 類的字串時,我們不是建立一個新的 String 物件,而是直接操作原始字串本身。因此,StringBuffer 類提供了一組與 String 類不同的方法,所有這些方法都直接操作包含字串的緩衝區。StringBuffer 可以簡單地透過使用 new 運算子並在… 閱讀更多

Java 中堆記憶體和字串常量池有什麼區別?

raja
更新於 2020年2月6日 10:00:04

5K+ 次瀏覽

堆記憶體堆記憶體是一個執行時資料區域,從中分配所有 Java 類例項和陣列的記憶體。堆在 JVM 啟動時建立,並且在應用程式執行期間其大小可能會增加或減小。堆的大小可以使用 –Xms VM 選項指定。根據垃圾收集策略,堆可以是固定大小或可變大小。可以使用 –Xmx 選項設定最大堆大小。預設情況下,最大堆大小設定為 64 MB。字串常量池String 使用特殊的記憶體位置來重用 String 物件… 閱讀更多

為什麼字串字面量儲存在 Java 的字串常量池中?

raja
更新於 2023年11月17日 14:10:14

2K+ 次瀏覽

在 Java 中建立 String 物件有兩種方法:使用 new 運算子 String str = new String("Tutorials Point");使用字串字面量 String str = "Tutorials Point";每當我們在 Java 中呼叫 new String() 時,它將在堆記憶體中建立一個物件,而字串字面量將進入字串常量池 (SCP)。對於物件,JVM 使用 SCP,用於 Java 中的高效記憶體管理。與其他 Java 物件不同,它們沒有在堆區域管理 String 物件,而是引入了字串常量池。字串常量池的一個重要特性是它不會建立相同的 String… 閱讀更多

為什麼 String 類在 Java 中是不可變的或最終的?

raja
更新於 2023年11月17日 14:21:41

8K+ 次瀏覽

字串不可變意味著我們不能更改物件本身,但我們可以更改對物件的引用。字串被設為 final 以防止其他人擴充套件它並破壞其不變性。安全引數通常在網路連線、資料庫連線 URL、使用者名稱/密碼等中表示為 String。如果它是可變的,則可以輕鬆更改這些引數。同步和併發使 String 變得不可變,從而自動使它們成為執行緒安全的,從而解決了同步問題。快取當編譯器最佳化我們的 String 物件時,如果兩個物件具有相同的值 (a =" test",和 b =" test"),並且… 閱讀更多

如何在 Java 中呼叫介面方法?

raja
更新於 2020年2月11日 08:06:59

20K+ 次瀏覽

為了從 Java 程式呼叫介面方法,程式必須例項化介面實現程式。然後可以使用實現物件呼叫方法。示例public interface InterfaceDemo{     default public void displayNameDefault(String name){        System.out.println("Your name is : " + name);    }     public void displayName(String name);     public void displayNameAndDesignation(String name, String designation); }上面的介面定義了三種顯示名稱和可選職位的方法。一種方法是包含實現邏輯的預設方法。其餘兩種方法不包含實現邏輯。public class InterfaceDemoImpl… 閱讀更多

為什麼建構函式名稱與 Java 中的類名相同?

raja
更新於 2020年2月6日 10:09:33

3K+ 次瀏覽

每個類物件都是使用相同的 new 關鍵字建立的,因此它必須包含有關它必須為其建立物件的類的資訊。出於這個原因,建構函式名稱應與類名相同。示例class MyConstructor{    public MyConstructor() {       System.out.println("建構函式名稱應與類名相同");    }    public static void main(String args[]){       MyConstructor mc = new MyConstructor();    } }在上面的程式中,建構函式名稱應與類名相同 (MyConstructor)。輸出建構函式名稱應與類名相同

我們可以在 Java 中將 main 方法宣告為私有嗎?

raja
更新於 2020年2月11日 07:49:21

4K+ 次瀏覽

是的,我們可以在 Java 中將 main 方法宣告為私有。它在編譯時會成功編譯而沒有任何錯誤,但在執行時,它會提示 main 方法不是公共的。示例:class PrivateMainMethod {    private static void main(String args[]){        System.out.println("歡迎來到 Tutorials Point");     } }上述程式碼在編譯時執行成功,但在執行時會丟擲錯誤。輸出:錯誤:在類 PrivateMainMethod 中找不到 Main 方法,請將 Main 方法定義為:public static void main(String[] args) 或 JavaFX 應用程式類必須擴充套件 javafx.application.Application

我們可以在沒有 main 方法的情況下執行 Java 程式嗎?

raja
更新於 2023年10月7日 02:45:53

28K+ 次瀏覽

是的,我們可以使用靜態塊在沒有 main 方法的情況下執行 Java 程式。Java 中的靜態塊是一組語句,當 Java 類載入器將類載入到記憶體中時,這些語句只執行一次,它也稱為靜態初始化塊。靜態初始化塊直接進入堆疊記憶體。示例class StaticInitializationBlock{    static{       System.out.println("沒有 main 方法的類");       System.exit(0);    } }在上面的示例中,我們可以在沒有 main 方法的情況下執行 Java 程式(在 Java 1.6 版本之前有效)。… 閱讀更多

是否可以在 Java 中建立沒有名稱的類?

raja
更新於 2023年11月17日 14:26:55

920 次瀏覽

是的,我們可以使用匿名類建立沒有名稱的類。匿名類是一個沒有名稱的內部類,其例項在建立類本身時建立,並且這些類在其建立方面與普通類有所不同。示例public class Anonymous { public void show() {} public static void main(String args[]) { Anonymous a = new Anonymous() { public void show() { System.out.println("匿名類"); } }; a.show(); } } 輸出 匿名類

如何在 Java 中使用匿名內部類實現介面?

raja
更新於 2023年11月17日 08:41:15

1K+ 次瀏覽

匿名內部類是一個沒有名稱的類,我們將在例項化行直接定義它。示例在下面的程式中,我們使用匿名內部類實現 TutorialsPoint 介面的 toString() 方法,並列印其返回值。interface TutorialsPoint{ public String toString(); } public class Main implements TutorialsPoint { public static void main(String[] args) { System.out.print(new TutorialsPoint() { public String toString() { return "歡迎來到 Tutorials Point"; } }); } } 輸出 歡迎來到 Tutorials Point

廣告