-
Java中有2類“東西”不是對象: 1.原始數(shù)據(jù)類型 2.靜態(tài)成員查看全部
-
動態(tài)加載類查看全部
-
Java 反射機(jī)制 獲取類對象,三種方式: 1.Class<Foo> c1 = Foo.class; 2.Class<Foo> c2 = foo1.getClass(); 3.Class<Foo> c3 = Class.getName("pack.Foo"); new創(chuàng)建對象是靜態(tài)加載類,在編譯時刻就需要加載所有可能用到的類 動態(tài)加載,在運(yùn)行時加載。通過Class.forName(); 基本的數(shù)據(jù)類型,包括void關(guān)鍵字,都有類類型 方法的反射: 1)獲取方法,根據(jù)方法的名稱和方法的參數(shù)列表 2)方法的反射操作,method.invoke(obj, param...); Java中集合的泛型,是防止錯誤輸入的,只是在編譯階段有效,繞過編譯就無效了 List list1 = new ArrayList(); List<String> list2 = new ArrayList<String>(); Class c1 = list1.getClass(); Class c2 = list2.getClass(); 會發(fā)現(xiàn) c1==c2查看全部
-
通過動態(tài)加載類可以解決該問題查看全部
-
new創(chuàng)建對象時靜態(tài)加載類,在編譯時就需要加載所有的可能使用到的類查看全部
-
Class類查看全部
-
Class類查看全部
-
(接上條) //我們完全可以通過類的類類型創(chuàng)建該類的對象實(shí)例---->通過c1 or c2 or c3創(chuàng)建Foo的實(shí)例對象 try { Foo foo = (Foo)c1.newInstance();//需要有無參數(shù)的構(gòu)造方法 foo.print(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class Foo{ void print(){ System.out.println("foo"); } }查看全部
-
1.Class類 1) 在面向?qū)ο蟮氖澜缋?,萬事萬物皆對象。(java語言中,靜態(tài)的成員、普通數(shù)據(jù)類型除外) 類是不是對象呢?類是(哪個類的對象呢?)誰的對象呢? 類是對象,類是java.lang.Class類的實(shí)例對象 2)這個對象到底如何表示 public class ClassDemo1 { public static void main(String[] args) { //Foo的實(shí)例對象如何表示 Foo foo1 = new Foo();//foo1就表示出來了. //Foo這個類 也是一個實(shí)例對象,Class類的實(shí)例對象,如何表示呢 //任何一個類都是Class的實(shí)例對象,這個實(shí)例對象有三種表示方式 //第一種表示方式--->實(shí)際在告訴我們?nèi)魏我粋€類都有一個隱含的靜態(tài)成員變量class Class c1 = Foo.class; //第二中表達(dá)方式 已經(jīng)知道該類的對象通過getClass方法 Class c2 = foo1.getClass(); /*官網(wǎng) c1 ,c2 表示了Foo類的類類型(class type) * 萬事萬物皆對象, * 類也是對象,是Class類的實(shí)例對象 * 這個對象我們稱為該類的類類型 * */ //不管c1 or c2都代表了Foo類的類類型,一個類只可能是Class類的一個實(shí)例對象 System.out.println(c1 == c2); //第三種表達(dá)方式 Class c3 = null; try { c3 = Class.forName("com.imooc.reflect.Foo"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(c2==c3);查看全部
-
reflect查看全部
-
native 聲明的方法查看全部
-
動態(tài)加載類設(shè)計思想,功能性的類盡量使用動態(tài)加載查看全部
-
萬物皆對象 類是 java.lang.Class 的的實(shí)例對象 There is a class baned Class 類類型 class type查看全部
-
類是java.lang.Class的對象 任何一個類都是Class的對象 一個類是Class類的一個對象查看全部
-
因為java的泛型是偽泛型,在編譯以后就消失了。所以可以通過反射向已經(jīng)聲明為某個類型的集合中添加不屬于該類型的對象。查看全部
舉報
0/150
提交
取消