最新回答 / qy9999
比如說有貓類和狗類,都繼承動物類,執行c.newInstance()以后生成的是哪個類的對象就已經確定了,這時候強轉就相當于這樣:Cat cat = new Cat(); Animal a = (Animal) cat; a.eat()就調用的是Cat類中的eat(),因為a是從Cat類對象強轉過來的,所以調用的是Cat中的eat()
2017-10-13
最贊回答 / Brilliant
萬事萬物皆對象這句話沒錯,而private,public是java中的標識符,修飾符,并不是對象。例如: 美麗的石蝴蝶,我們能說“美麗的”是對象嗎?這里的美麗的只是用來形容我們的對象——"蝴蝶"。類似的,private表示私有的,例如:private int age 表示 私有的年齡。再則java中,private,public還有default 是權限修飾符可以修飾類,屬性和方法。關于private,public,default你可以去看看基礎講解,我就不再細說了。
2017-10-11
本節目的:通過Java反射(方法對象對類操作:我自己叫它反操作:)來了解泛型
本節鑰點: 1.反射的操作都是編譯之后的操作。
2.Java中集合的泛型,是防止錯誤輸入的,只在編譯階段有效,繞過編譯階段無效。
3.方法的反射可以繞過編譯(呼應第一點一樣),所以變異之后集合的泛型是去泛型化的。
本節鑰點: 1.反射的操作都是編譯之后的操作。
2.Java中集合的泛型,是防止錯誤輸入的,只在編譯階段有效,繞過編譯階段無效。
3.方法的反射可以繞過編譯(呼應第一點一樣),所以變異之后集合的泛型是去泛型化的。
2017-10-11
老師使用的是args輸入 用eclipse的同學可以自己改成scanner輸入
另外需要注意的就是用eclipse就不能和老師一樣簡簡單單寫個
forName("Word") 了
需要加上自己的包名(默認包的話就不用加了)
另外需要注意的就是用eclipse就不能和老師一樣簡簡單單寫個
forName("Word") 了
需要加上自己的包名(默認包的話就不用加了)
2017-10-08
1. Class c1=Foo.class;
2.Class c2=foo1.getClass();
3.Class c3=null; c3=Class.forName("com.imocc.reflect.Foo");
2.Class c2=foo1.getClass();
3.Class c3=null; c3=Class.forName("com.imocc.reflect.Foo");
2017-10-08
最新回答 / 慕尼黑5107759
個人理解,就是創建實例化對象就肯定用到構造器(無參或帶參),而在使用反射中的 newInstance()方法創建對象時,并沒有傳參數,那么可以確定是使用了該類的無參構造
2017-09-30