轉載:JAVA企業面試題精選 OOP 11-20
轉載:https://blog.csdn.net/qq_38131668/article/details/75202806
2.11.是否可以繼承String類?
參考答案:
String類是final類,故不可以繼承
2.12.闡述一下static關鍵字的作用
參考答案:
static表示”靜態”的意思,用來修飾成員變數和成員方法,也可以形成靜態程式碼塊.只要這個類被載入,Java虛擬機器就能根據類名在執行時資料區的方法區找到它們.因此staitc成員可以在它的任何物件建立之前訪問,無需引用任何物件.
1)修飾成員變數.用static修飾的成員變數不屬於物件的資料結構;static變數是屬於類的變數,通常可以通過類名來引用static成員;static成員變數和類的資訊一起儲存在方法區,而不是在堆中,一個類的static成員變數只有”一份”,無論該類建立了多少物件.
2)修飾成員方法.static修飾的方法則不需要針對某些物件進行操作,其執行結果僅與輸入的引數有關,呼叫時直接用類名引用.由於static在呼叫時沒有具體的物件,因此在static方法中不能對非static成員(物件成員)進行訪問.static方法的作用在於提供一些”工具方法”和”工廠方法”等.
3)static塊:屬於類的程式碼塊,在類載入期間執行的程式碼塊,只執行一次,可以用來在軟體中載入靜態資源.
2.13.解釋Java關鍵字的含義及用法
1)abstract
2)extends
3)final/finally
4)implements
5)import
6)instanceof
7)synchronized
8)throw/throws
參考答案:
1)abstract:抽象,修飾類和方法.含有abstract方法的類是抽象類,抽象方法主要是為了讓子類繼承實現.
2)extends:繼承,子類通過繼承父類來新增變數或方法,或者覆蓋父類的方法;子介面繼承父藉口來新增方法.
3)final/finally:final用於定義常量.finally用來執行一段程式碼,不管在前面定義的try語句中是否有異常或執行時錯誤發生.
4)implements:在類的宣告中是可選的,用來指明當前類實現的介面.
5)import:在原始檔的開始部分指明後面將要引進的一個類或整個包.
6)instanceof:判斷其指向物件的實際型別.
7)synchronized:修飾方法或方法塊.防止多個執行緒同時訪問這個類中的synchronized塊.
8)throw/throws:throw允許使用者丟擲一個exception物件或者任何實現throwable的物件.throws用在方法的宣告中來說明哪些異常這個方法是不處理的,而是提交到程式的更高一層.
2.14.靜態變數和例項變數的區別?
參考答案:
靜態變數也稱為類變數,歸全類共有,它不依賴於某個物件,可通過類名直接訪問,而例項變數必須依存於某一例項,只能通過物件才能訪問到它.
2.15.GC是什麼?為什麼要有GC?
參考答案:
GC是垃圾回收的意思(Gabage Collection),記憶體處理是程式設計人員容易出現問題的地方,忘記或者錯誤的記憶體回收會導致程式或系統的不穩定甚至崩潰,Java提供的GC功能可以自動檢測物件是否超過作用域從而達到自動回收記憶體的目的.Java程式設計師程式設計的時候不用考慮變數不用時釋放記憶體,Java虛擬機器可以自動判斷出並回收垃圾.
2.16.件數垃圾回收的優點和原理.並舉例2中回收機制
參考答案:
Java語言中一個顯著的特點就是引入了垃圾回收機制,使C++程式設計師最頭疼的記憶體管理的問題迎刃而解,它使得Java程式設計師在編寫程式的時候不再需要考慮記憶體管理.由於有個垃圾回收機制,Java中的物件不再有”作用域”的概念,只有物件的引用才有”作用域”.垃圾回收可以有效的防止記憶體洩漏,有效的使用可以使用的記憶體.
垃圾回收器通常是作為一個單獨的低階別的執行緒執行,不可預知的情況下對記憶體堆中已經死亡的或者長時間沒有使用的物件進行清除和回收,程式設計師不能實時的呼叫垃圾回收器對某個物件或所有物件進行垃圾回收.
1)增量收集器
增量收集器把堆疊分為多個域,每次僅從一個域收集垃圾.這會造成較小的應用程式中斷.
2)分代收集器
這種收集器把堆疊分為兩個或多個域,用以存放不同壽命的物件.JVM生成的新物件一般放在其中的某個域中.過一段時間,繼續存在的物件將獲得使用期並轉入更長壽命的域中.分代收集器對不同的域使用不同的演算法以優化效能.
2.17.介面是否可繼承介面?抽象類是否可實現(implements)介面?抽象類是否可繼承實體類(concrete class)?
參考答案:
1)介面可以繼承介面
2)抽象類可以實現(implements)介面
3)抽象類可繼承實體類
2.18.public class MyString extends String{}有什麼錯?
參考答案:
String類是final類,不能被繼承.
2.19.子類A繼承父類B,A a = new A();則父類B建構函式,父類B靜態程式碼塊,父類B非靜態程式碼塊,子類A建構函式,子類A靜態程式碼塊,子類A非靜態程式碼塊執行的先後順序是?
參考答案:
父類B靜態程式碼塊->子類A靜態程式碼塊->父類B非靜態程式碼塊->父類B的建構函式->子類A非靜態程式碼塊->子類A建構函式
2.20.簡述”類(class)”,”類庫(class library)”,”包(package)”,”jar檔案”這四個概念間的聯絡
參考答案:
1)類(class)實際上是對某種型別的物件定義變數和方法的原型.它表示對現實生活中一類具有共同特徵的事物的抽象.
2)為了更好地組織類,Java提供了包機制.包(package)是類的容器,用於分隔類名空間.
3)類庫(class library)是用來實現各種功能的類的集合.
4)jar檔案用於釋出和使用類庫,可被編譯器和JVM直接使用.
相關文章
- 轉載:JAVA企業面試題精選 Java基礎 11-20Java面試題
- 轉載:JAVA企業面試題精選 OOP 1-10Java面試題OOP
- 轉載:JAVA企業面試題精選 OOP 21-24Java面試題OOP
- 轉載: JAVA企業面試題精選 資料庫11-20Java面試題資料庫
- 轉載:JAVA企業面試題精選 Java基礎 41-50Java面試題
- 轉載:JAVA企業面試題精選 Java基礎 31-40Java面試題
- 轉載:JAVA企業面試題精選 Java基礎 1-10Java面試題
- 轉載:JAVA企業面試題精選 Java基礎 21-30Java面試題
- 轉載:JAVA企業面試題精選 資料庫1-10Java面試題資料庫
- Java併發面試題精選Java面試題
- 最新精選Java面試題,附答案!Java面試題
- 2021精選 Java面試題附答案(一)Java面試題
- iOS面試題精選iOS面試題
- 精選30道Java多執行緒面試題Java執行緒面試題
- 精選乾貨:Java精選筆試題附答案Java筆試
- Android面試題(轉載)Android面試題
- Java就業企業面試問題-電商專案Java就業面試
- 26個精選的JavaScript面試問題JavaScript面試
- MySQL精選60道面試題 ( 含答案 )MySql面試題
- 「面試必問」leetcode高頻題精選面試LeetCode
- 防火牆企業面試題iptalbes Linux面試題分享防火牆面試題Linux
- 入職大廠,齊姐精選的 9 道 Java 集合面試題Java面試題
- 100家IT 名企面試必考面試題java系列面試題Java
- 面試精選之Promise面試Promise
- 27道Redis精選面試題,你會做幾題?Redis面試題
- Spring面試題--(隔離、事務、Aop/oop)Spring面試題OOP
- 2018年--阿里大資料面試題(部分精選)阿里大資料面試題
- 【週刊-1】三年大廠面試官-面試題精選及答案面試題
- Java面試高頻題精選300道題,一份通往阿里的必備指南pdfJava面試阿里
- 面試精選之http快取面試HTTP快取
- 從1.6W名面試者中收集的Java面試題精選彙總(內附知識腦圖)Java面試題
- BATM面試Java崗:精選200+面試題及答案、6大重點規劃和經驗總結BATJava面試題
- Java面試整理(精簡版)Java面試
- 金三銀四面試季—20道精選JVM重點面試問題!面試JVM
- 2018名企校招筆試真題精選技術篇筆試
- Java類載入機制詳解【java面試題】Java面試題
- Python企業面試題3 —— 基礎篇Python面試題
- Python企業面試題2 —— 基礎篇Python面試題