1.描述一下JVM加載class文件的原理機(jī)制?
答:JVM中類的裝載是由ClassLoader和它的子類來實(shí)現(xiàn)的,Java ClassLoader 是一個(gè)重要的Java運(yùn)行時(shí)系統(tǒng)組件拆宛。它負(fù)責(zé)在運(yùn)行時(shí)查找和裝入類文件的類。
2.利用反射和重載完成以下功能
1)創(chuàng)建Student類弓摘,類中有屬性name和age并封裝屬性
2)重載Student的構(gòu)造函數(shù)纽帖,一個(gè)是無(wú)參構(gòu)造并恨豁,另一個(gè)是帶兩個(gè)參數(shù)的有參構(gòu)造垛孔,要求在構(gòu)造函數(shù)打印提示信息
3)創(chuàng)建帶main函數(shù)的NewInstanceTest類鹿榜,利用Class類得到Student對(duì)象
4)通過上述獲取的Class對(duì)象分別調(diào)用Student有參函數(shù)和無(wú)參函數(shù)
3.利用反射的知識(shí)完成下面的操作
1)創(chuàng)建Mytxt類攒暇,創(chuàng)建myCreate()方法完成創(chuàng)建文件D:\myhello.txt文件的功能土匀。創(chuàng)建帶main方法的NewInstanceTest類,通過Class類獲取Mytxt對(duì)象形用,調(diào)用myCreat()
4.利用Annotation和反射知識(shí)完成操作
1)自定義一個(gè)有效的Annotation注釋名為MyAnnotation就轧,其中有屬性myname創(chuàng)建Student類并重寫toString(),toString()要求使用三個(gè)基本的Annotation和自定義的MyAnnotation注釋
2)創(chuàng)建TestGetAnno類尾序,打印出Student類的toString方法的所有注釋
5.利用通過反射修改私有成員變量
1.定義PrivateTest類钓丰,有私有name屬性,并且屬性值為hellokitty每币,只提供name的getName的公有方法
2.創(chuàng)建帶有main方法ReflectTest的類携丁,利用Class類得到私有的name屬性
3.修改私有的name屬性值,并調(diào)用getName()的方法打印name屬性值
6.利用反射和File完成以下功能
1.利用Class類的forName方法得到File類
2.在控制臺(tái)打印File類的所有構(gòu)造器
3.通過newInstance的方法創(chuàng)建File對(duì)象兰怠,并創(chuàng)建D:\mynew.txt文件