java基础练习题
java練習題
1.面向過程和面對對象區別
面向過程就是分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了;面向對象是把構成問題事務分解成各個對象
2.jvm,jdk,jre三者聯系和區別
1.三者聯系:
JVM不能單獨搞定class的執行,解釋class的時候JVM需要調用解釋所需要的類庫lib。在JDK下面的的jre目錄里面有兩個文件夾bin和lib,在這里可以認為bin里的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。JVM+Lib=JRE。總體來說就是,我們利用JDK(調用JAVA API)開發了屬于我們自己的JAVA程序后,通過JDK中的編譯程序(javac)將我們的文本java文件編譯成JAVA字節碼,在JRE上運行這些JAVA字節碼,JVM解析這些字節碼,映射到CPU指令集或OS的系統調用。
2.三者區別:
a.JDK和JRE區別:在bin文件夾下會發現,JDK有javac.exe而JRE里面沒有,javac指令是用來將java文件編譯成class文件的,這是開發者需要的,而用戶(只需要運行的人)是不需要的。JDK還有jar.exe, javadoc.exe等等用于開發的可執行指令文件。這也證實了一個是開發環境,一個是運行環境。
b.JRE和JVM區別:JVM并不代表就可以執行class了,JVM執行.class還需要JRE下的lib類庫的支持,尤其是rt.jar。
1.JDK(Java Development Kit),
2.JRE(Java Runtime Environment,Java運行環境)
3.JVM是Java Virtual Machine(Java虛擬機)的縮寫
3.重載和重寫區別
“重載實現的是編譯時的多態性,重寫實現的是運行時的多態性。重載發生在一個類中,同名的方法如果有不同的參數列表則視為重載;重寫發生在子類與父類之間,重寫要求子類被重寫方法與父類被重寫方法有相同的參數列表,有兼容的返回類型。”
4.簡述java面對對象三大特性,封裝,繼承,多態
1.封裝: 將類的某些信息隱藏在類內部,不允許外部程序直接訪問,而是通過該類提供的方法來實現對隱藏信息的操作和訪問。
2.繼承: 繼承是類與類的一種關系,是一種“is a”的關系。比如“狗”繼承“動物”,這里動物類是狗類的父類或者基類,狗類是動物類的子類或者派生類。
3.多態:多態就是對象的多種形態。
5.簡述自動裝箱和拆箱
裝箱就是自動將基本數據類型轉換為包裝器類型;拆箱就是自動將包裝器類型轉換為基本數據類型。
int i=10; Integer x=new Integer(i);手動裝箱 Integer y=10;自動裝箱 拆箱:將包裝類對象轉換成基本類型的值 Integer j=new Integer(8); int m=j.intValue();//手動拆箱 int n=j;//自動拆箱主要是用于java集合中,List list=new ArrayList();
list集合如果要放整數的話,只能放對象,不能放基本類型,因此需要將整數自動裝箱成對象。
總結
- 上一篇: x86从实模式到保护模式实验说明
- 下一篇: MNIST 手写数字识别,我是如何做到8