導航:首頁 > 編程語言 > 構造器跟構造代碼塊區別

構造器跟構造代碼塊區別

發布時間:2025-10-13 04:27:30

『壹』 java基礎面試題有哪些

下面是10道java基礎面試題,後附答案

1.什麼是 Java 虛擬機?為什麼 Java 被稱作是「平台無關的編程語言」?

Java 虛擬機是一個可以執行 Java 位元組碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執行的位元組碼文件。

Java 被設計成允許應用程序可以運行在任意的平台,而不需要程序員為每一個平台單獨重寫或者是重新編譯。Java 虛擬機讓這個變為可能,因為它知道底層硬體平台的指令長度和其他特性。

2.「static」關鍵字是什麼意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?

「static」關鍵字表明一個成員變數或者是成員方法可以在沒有所屬的類的實例變數的情況下被訪問。

Java 中 static 方法不能被覆蓋,因為方法覆蓋是基於運行時動態綁定的,而 static 方法是編譯時靜態綁定的。static 方法跟類的任何實例都不相關,所以概念上不適用。

3.JDK 和 JRE 的區別是什麼?

Java 運行時環境(JRE)是將要執行 Java 程序的 Java 虛擬機。它同時也包含了執行 applet 需要的瀏覽器插件。Java 開發工具包 (JDK)是完整的 Java 軟體開發包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調試器),可以讓開發者開發、編譯、執行 Java 應用程序。

4.是否可以在 static 環境中訪問非 static 變數?

static 變數在 Java 中是屬於類的,它在所有的實例中的值是一樣的。當類被 Java 虛擬機載入的時候,會對 static 變數進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變數,編譯器會報錯,因為這些變數還沒有被創建出來,還沒有跟任何實例關聯上。

5.Java 支持的數據類型有哪些?什麼是自動拆裝箱?

Java 語言支持的 8 中基本數據類型是:

byte

short

int

long

float

double

boolean

char

自動裝箱是 Java 編譯器在基本數據類型和對應的對象包裝類型之間做的一個轉化。比如:把 int 轉化成 Integer,double 轉化成 double,等等。反之就是自動拆箱。

6.Java 支持多繼承么?

不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現多個介面。

7.Java 中,什麼是構造函數?什麼是構造函數重載?什麼是復制構造函數?

當新對象被創建的時候,構造函數會被調用。每一個類都有構造函數。在程序員沒有給類提供構造函數的情況下,Java 編譯器會為這個類創建一個默認的構造函數。

Java 中構造函數重載和方法重載很相似。可以為一個類創建多個構造函數。每一個構造函數必須有它自己唯一的參數列表。

Java 不支持像 C++中那樣的復制構造函數,這個不同點是因為如果你不自己寫構造函數的情況下,Java 不會創建默認的復制構造函數。

8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什麼意思?

Java 中的方法重載發生在同一個類裡面兩個或者是多個方法的方法名相同但是參數不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。

9.介面和抽象類的區別是什麼?

Java 提供和支持創建抽象類和介面。它們的實現有共同點,不同點在於:

介面中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。

類可以實現很多個介面,但是只能繼承一個抽象類

類如果要實現一個介面,它必須要實現介面聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。

抽象類可以在不提供介面方法實現的情況下實現介面。

Java 介面中聲明的變數默認都是 final 的。抽象類可以包含非 final 的變數。

Java 介面中的成員函數默認是 public 的。抽象類的成員函數可以是 private, protected 或者是 public。

介面是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調用的。

10.什麼是值傳遞和引用傳遞?

對象被值傳遞,意味著傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。

對象被引用傳遞,意味著傳遞的並不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。

最後祝你面試順利!

『貳』 面向對象編程方法的要點

沒有什麼要點,別瞎想。自己多寫寫,等你寫一萬行以上了,感覺自然來。看書沒用,多動手。

『叄』 關於JAVA中的static,this,final

static作為修飾符,可以用來修飾變數、方法、代碼塊(但絕對不能修飾類)。
static成員是不能被其所在class創建的實例訪問的。
如果不加static修飾的成員是對象成員,也就是歸每個對象所有的。
加static修飾的成員是類成員,就是可以由一個類直接調用,為所有對象共有的。

final關鍵字可以修飾類、類的成員變數和成員方法,但final的作用不同。
final修飾成員變數,則成為實例常量。
final修飾成員方法,則該方法不能被子類重寫。
final修飾類,則類不能被繼承。

this的三種用法
1、表示對當前對象的引用!
2、表示用類的成員變數,而非函數參數,注意在函數參數和成員變數同名是進行區分
3、用於在構造方法中引用滿足指定參數類型的構造器(其實也就是構造方法)。但是這里必須非常注意:只能引用一個構造方法且必須位於開始!

this不能用在static方法中!

閱讀全文

與構造器跟構造代碼塊區別相關的資料

熱點內容
網路信號放大器怎麼使 瀏覽:305
將m文件轉換為cmex 瀏覽:387
world怎麼去除頁面頂端及底端的數據 瀏覽:659
java接入安卓qq協議 瀏覽:786
構造器跟構造代碼塊區別 瀏覽:769
網站如何設置變灰色 瀏覽:359
創維卡機需要升級嗎 瀏覽:306
怎麼通過手機壓縮文件 瀏覽:811
蘋果6的通話背景功能 瀏覽:798
wifi密碼被分享怎麼辦 瀏覽:206
遠程桌面把在對方電腦文件拷過來 瀏覽:913
vfp如何連接資料庫 瀏覽:881
linux文件綠色 瀏覽:547
word一打開就有頁眉頁腳 瀏覽:535
資料庫應用技術答案 瀏覽:986
桌面文件後綴名字 瀏覽:673
安卓3d程序鎖 瀏覽:203
蘋果系統自動更新app怎麼關閉 瀏覽:685
win10文件大小是40g 瀏覽:445
ipad應用程序等待中 瀏覽:150

友情鏈接