java基本特性_Java面試總結之Java基礎

無論是工作多年的高級開發人員還是剛入職場的新人,在換工作面試的過程中,Java基礎是必不可少的面試題之一。能不能順利通過面試,拿到自己理想的offer,在準備面試的過程中,Java基礎也是很關鍵的。對于工作多年的開發人員來說,Java基礎往往是會被大家所忽略的,但在面試的過程中,確是必不可少的問題。在這篇文章里就來為大家總結一下經常會被問到的Java基礎題。

d8cc9cc54cf44dd15eac81dd4a73d8c5.pnghelloworld

1.Java面向對象的三大特征

答:封裝,繼承,多態

評論:對于剛入職場的新人來說,這個回答就可以了,但對于工作多年的高級開發人員來說,這個回答是遠遠不夠的。你需要對這大三特征有比較深刻的認識才可以。封裝表面上看就把描述一個對象的屬性和行為封裝成一個類,把業務邏輯封裝成方法,封裝的另一層含義在于通過修飾符控制類的訪問屬性(公有,私有等)。繼承主要是實現了代碼的復用,所有子類公用的行為和屬性可以抽取為一個父類,所有子類繼承了父類的屬性和行為,java中繼承是單一性的。多態:程序中定義的引用類型變量所指向的具體類型和調用的具體方法在程序編譯階段無法確定,而是在運行期才能確定該引用類型變量指向具體哪個對象而調用在哪個類中聲明的方法。多態的表現形式有強制類型轉換,向上構造等。多態可分為行為多態和對象多態。

6ce92aadfd7915033ffbea1a4e294493.png

2.Java的基本數據類型

答:基本數據類型有,byte,short,int,long,float,double,char,boolean這8種。

評論:在實際面試過程中一般不會這么問你,一般會拿一個具體的問題考你。比如讓你設計一個和訂單金額有關的數據結構,或者問你數據類型里的隱式轉換(int-Integer)相關的,這些都是考察基本功。

3.Java的修飾符

答:private,protected,public,default

評論:這里知道這幾種修飾符的作用范圍之外,還有一些比較深層次的也要注意一下。有一次我被問到如何去訪問一個private修飾的方法。這里有一種方法就是通過反射可以實現對private的訪問。

4.Java的運算符

答:Java是一門強類型的語言,運算符基本可以為分6類:算數運算符,賦值運算符,關系運算符,邏輯運算符,位運算符,條件運算符。

評論:運算符的考察,一般會給你一個實際的題讓你算結果,通常考基本功的話會問你一些位運算,或者和運算符優先級相關的題。

5.Java的String,StringBuffer,StringBuilder類用法與區別?

答:String類適用于少量字符串的操作,StringBuilder適用于單線程下在字符緩沖區進行大量操作的情況,StringBuffer適用多線程下在字符緩沖區進行大量操作的情況。

評論:考察java字符串的基礎通常會圍繞這3個類展開。一般回答的時候要圍繞運算速度和線程安全這兩個方面展開。

6.兩個對象的hashCode()相同,則equals()也一定為true嗎?

答:不一定相同。正常情況下,因為equals()方法比較的就是對象在內存中的值,如果值相同,那么Hashcode值也應該相同。但是如果不重寫hashcode方法,就會出現不相等的情況。

7.Java中的Override與Overload的區別?

答:overload在相同的類范圍內執行,override發生在具有繼承關系的兩個類。

評論:要回答的完美,還需要從目的,范圍,參數,多態性,返回類型這幾個方面回答。

8.final在Java中的作用?

答:在java中有4種用法,1.修飾數據,2.修飾方法參數,3.修飾方法,4修飾類

評論:1.修飾數據,包括成員變量,局部變量,則變量只能被賦值一次。2.修飾方法參數,表示變量在生命周期只能被賦值 一次。3.修飾方法,表示該方法不能被重寫。4.修飾類表示該類不能被繼承

9.如何將字符串反轉?

答:有很多種,如通過char數組,StringBuffer的reverse等

10.String類的常用方法有哪些?

答:常用方法,new String,length,charAt,subString,compareTo,compareToIgnore,equals,equalsIgnoreCase,concat,indexOf,replace,replaceAll,trim,startWith等

11.Object類有哪些常用的方法?

答:這個類是所有java對象的父類,常用方法toString,equals,hashCode

12.抽象類必須要有抽象方法嗎?

答:可以沒有抽象方法,但抽象方法一定在抽象類中。

13.抽象類與接口的區別?

答:抽象類是用來捕捉子類的通用特性的 。它不能被實例化,只能被用作子類的超類。接口是抽象方法的集合。如果一個類實現了某個接口,那么它就繼承了這個接口的抽象方法。這里主說一下用法:如果你擁有一些方法并且想讓它們中的一些有默認實現,那么使用抽象類。如果基本功能在不斷改變,那么也使用抽象類。如果你想實現多重繼承,那么你必須使用接口。

14.抽象類可以用final修飾嗎?

答:不可以,final修飾的類的是不可以被繼承的

15.String類為什么是final類型的?

答:可以從這3方面回答,1.為了實現字符串池,2.為了線程安全,3.為了實現String可以創建HashCode不可變性。

評論:這題主要從Final修飾符的理解去回答即可。

希望對大家有所幫助

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392371.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392371.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392371.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

plotly python_使用Plotly for Python時的基本思路

plotly pythonI recently worked with Plotly for data visualization on predicted outputs coming from a Machine Learning Model.我最近與Plotly合作,對來自機器學習模型的預測輸出進行數據可視化。 The documentation I referred to : https://plotly.com/pyt…

轉發:畢業前的贈言

1、找一份真正感興趣的工作。 “一個人如果有兩個愛好,并且把其中一個變成自己的工作,那會是一件非常幸福的事情。那么另外一個愛好用來做什么?打發時間啦。所以,第二個興趣非常重要,在你無聊寂寞的時候越發顯得它…

Python模塊之hashlib:提供hash算法

算法介紹 Python的hashlib提供了常見的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又稱哈希算法、散列算法。它通過一個函數,把任意長度的數據轉換為一個長度固定的數據串(通常用16進制的字符串表示&#xf…

css flexbox模型_完整CSS課程-包括flexbox和CSS網格

css flexbox模型Learn CSS in this complete 83-part course for beginners. Cascading Style Sheets (CSS) tell the browser how to display the text and other content that you write in HTML.在這本由83部分組成的完整課程中,為初學者學習CSS。 級聯樣式表(CS…

leetcode 830. 較大分組的位置

在一個由小寫字母構成的字符串 s 中,包含由一些連續的相同字符所構成的分組。 例如,在字符串 s “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 這樣的一些分組。 分組可以用區間 [start, end] 表示,其中…

php 匹配圖片路徑_php正則匹配圖片路徑原理與方法

下面我來給大家介紹在php正則匹配圖片路徑原理與實現方法,有需要了解的朋友可進入參考參考。提取src里面的圖片地址還不足夠,因為不能保證那個地址一定是絕對地址,完全的地址,如果那是相對的呢?如果地址諸如&#xff1…

java項目經驗行業_行業研究以及如何炫耀您的項目

java項目經驗行業蘋果 | GOOGLE | 現貨 | 其他 (APPLE | GOOGLE | SPOTIFY | OTHERS) Editor’s note: The Towards Data Science podcast’s “Climbing the Data Science Ladder” series is hosted by Jeremie Harris. Jeremie helps run a data science mentorship startup…

MongoDB教程-使用Node.js從頭開始CRUD應用

In this MongoDB Tutorial from NoobCoder, you will learn how to use MongoDB to create a complete Todo CRUD Application. This project uses MongoDB, Node.js, Express.js, jQuery, Bootstrap, and the Fetch API.在NoobCoder的MongoDB教程中,您將學習如何使…

leetcode 399. 除法求值(bfs)

給你一個變量對數組 equations 和一個實數值數組 values 作為已知條件,其中 equations[i] [Ai, Bi] 和 values[i] 共同表示等式 Ai / Bi values[i] 。每個 Ai 或 Bi 是一個表示單個變量的字符串。 另有一些以數組 queries 表示的問題,其中 queries[j]…

【0718作業】收集和整理面向對象的六大設計原則

面向對象的六大設計原則 (1)單一職責原則——SRP (2)開閉原則——OCP (3)里式替換原則——LSP (4)依賴倒置原則——DIP (5)接口隔離原則——ISP (…

數據科學 python_適用于數據科學的Python vs(和)R

數據科學 pythonChoosing the right programming language when taking on a new project is perhaps one of the most daunting decisions programmers often make.在進行新項目時選擇正確的編程語言可能是程序員經常做出的最艱巨的決定之一。 Python and R are no doubt amon…

如何進行有效的需求調研

一、什么是需求調研?需求調研對于一個應用軟件開發來說,是一個系統開發的開始階段,它的輸出“軟件需求分析報告”是設計階段的輸入,需求調研的質量對于一個應用軟件來說,是一個極其重要的階段,它的質量在一…

java中直角三角形第三條邊,Java編程,根據輸入三角形的三個邊邊長,程序能判斷三角形類型為:等邊、等腰、斜角、直角三角形,求代碼...

private static Scanner sc;private static int edge[] new int[3];public static void main(String[] args) {System.out.println("請輸入三角形的三條邊");sc new Scanner(System.in);input();}public static void input() {int index 0;//數組下標while (sc.ha…

react中使用構建緩存_使用React和Netlify從頭開始構建電子商務網站

react中使用構建緩存In this step-by-step, 6-hour tutorial from Coding Addict, you will learn to build an e-commerce site from scratch using React and create-react-app.在這個Coding Addict的分步,為時6小時的教程中,您將學習使用React和creat…

Django+Vue前后端分離項目的部署

部署靜態文件: 靜態文件有兩種方式 1:通過django路由訪問 2:通過nginx直接訪問 方式1: 需要在根目錄的URL文件中增加 url(r^$, TemplateView.as_view(template_name"index.html")),作為入口,在setting中更改…

leetcode 547. 省份數量(bfs)

有 n 個城市,其中一些彼此相連,另一些沒有相連。如果城市 a 與城市 b 直接相連,且城市 b 與城市 c 直接相連,那么城市 a 與城市 c 間接相連。 省份 是一組直接或間接相連的城市,組內不含其他沒有相連的城市。 給你一…

r怎么對兩組數據統計檢驗_數據科學中最常用的統計檢驗是什么

r怎么對兩組數據統計檢驗Business analytics and data science is a convergence of many fields of expertise. Professionals form multiple domains and educational backgrounds are joining the analytics industry in the pursuit of becoming data scientists.業務分析和…

win10專業版激活(cmd方式)

轉載于:https://www.cnblogs.com/bug-baba/p/11225322.html

mit景觀生成技術_永遠不會再為工作感到不知所措:如何使用MIT技術

mit景觀生成技術by Sihui Huang黃思慧 永遠不會再為工作感到不知所措:如何使用MIT技術 (Never feel overwhelmed at work again: how to use the M.I.T. technique) Have you ever felt exhausted after a day at work? At the end of a busy day, you couldn’t …

leetcode 189. 旋轉數組

給定一個數組,將數組中的元素向右移動 k 個位置,其中 k 是非負數。 示例 1: 輸入: [1,2,3,4,5,6,7] 和 k 3 輸出: [5,6,7,1,2,3,4] 解釋: 向右旋轉 1 步: [7,1,2,3,4,5,6] 向右旋轉 2 步: [6,7,1,2,3,4,5] 向右旋轉 3 步: [5,6,7,1,2,3,4] 代碼 cla…