首頁  >  文章  >  Java  >  Java中的面試題:三道經典題解

Java中的面試題:三道經典題解

PHPz
PHPz原創
2023-06-15 20:43:291025瀏覽

Java作為一門廣受歡迎的程式語言,其面試題也是備受關注。下面我們就來看看三道經典的Java面試題以及它們的解答。

一、 String是如何判斷相等的?

在Java中,String是一種特殊的對象,因此它的判斷相等也是需要特別注意的。一般來說,有兩種判斷String相等的方法。

  1. 使用equals方法

在Java中,使用equals方法可以判斷兩個String物件是否相等。這個方法會比較兩個String物件所包含的字串是否相同,如果相同,傳回true,不同則傳回false。

例如:

String str1 = "Hello";
String str2 = "Hello";

if(str1.equals(str2)){
    System.out.println("str1和str2相等");
} else {
    System.out.println("str1和str2不相等");
}

輸出結果為:str1和str2相等。

要注意的是,使用equals方法比較字串相等時,比較的是字串的值是否相等,而不是記憶體位址是否相等。

  1. 使用==運算子

Java中也可以使用==運算子判斷兩個String物件是否相等。但需要注意,在使用==運算子比較兩個物件時,比較的是兩個物件的記憶體位址是否相等,而不是字串內容是否相等。

例如:

String str1 = "Hello";
String str2 = "Hello";

if(str1 == str2){
    System.out.println("str1和str2地址相等");
} else {
    System.out.println("str1和str2地址不相等");
}

輸出結果為:str1和str2位址相等。

要注意的是,當對String物件進行賦值操作時,Java中的字串池會自動建立一個新的字串對象,因此使用==運算子比較字串時,需要特別注意。

二、Java中的Final是什麼?

在Java中,final關鍵字可以用來修飾類別、方法以及變數。下面我們來分別解釋一下final關鍵字的作用。

  1. final修飾類別

如果將一個類別用final修飾,則代表這個類別不能被繼承。例如:

public final class MyClass{
    //...
}
  1. final修飾方法

如果將一個方法用final修飾,代表這個方法不能被子類別重寫。例如:

public class MyClass{
    public final void myMethod(){
        //...
    }
}
  1. final修飾變數

如果將一個變數用final修飾,代表這個變數不能被重新賦值。例如:

public class MyClass{
    public final int MY_CONSTANT = 10;
}

要注意的是,final關鍵字修飾的變數必須在宣告時就進行初始化賦值。

三、Java中的多態是什麼?

在Java中,多型是指同一個介面可以實現不同的物件。具體來說,多態有兩種形式:

  1. 編譯時多態

#編譯時多態指的是透過父類別類型的引用,呼叫子類類型的物件的方法。例如:

Parent parent = new Child();
parent.myMethod();

在這個範例中,parent是父類別類型的引用,但是它卻呼叫了子類別類型的物件中的myMethod方法。

要注意的是,編譯時多型態只能呼叫父類別和父類別中的方法,不能呼叫子類別特有的方法。

  1. 運行時多態

運行時多態指的是程式運行的過程中,根據實際物件的型別呼叫對應的方法。例如:

public class MyClass{
    public static void main(String[] args){
        Animal animal = new Dog();
        animal.makeSound();
    }
}

class Animal{
    public void makeSound(){
        System.out.println("动物发出声音");
    }
}

class Dog extends Animal{
    public void makeSound(){
        System.out.println("汪汪汪");
    }
}

在這個例子中,animal是Animal類型的引用,但是它所指向的是Dog類型的對象,因此當呼叫makeSound方法時,實際呼叫的是Dog類型物件中的makeSound方法,輸出的結果也是「汪汪汪」。

要注意的是,運行時多型態只能在執行時間決定呼叫的方法,因此可能會產生執行時間錯誤。

綜上所述,Java中的String判斷相等、final關鍵字以及多態是面試中經常被問到的問題,程式設計師需要對這些問題進行深入的理解和掌握。

以上是Java中的面試題:三道經典題解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn