java的默认_java默认包的使用
最近在寫java測(cè)試程序的時(shí)候突然遇到了一個(gè)問(wèn)題:java默認(rèn)包中的public類是不能在其他包中直接調(diào)用的
首先,總結(jié)一下默認(rèn)包中類的使用范圍,java默認(rèn)包中的類可以實(shí)例化其它包中的public類,但是其它包中的類是不能顯式實(shí)例化默認(rèn)包中的類這個(gè)特性在JDK1.4以后的版本成立;
其次,可以通過(guò)反射來(lái)訪問(wèn)默認(rèn)包中的類,例如下面代碼
public class Hello {
private String codeing;
public String getCodeing() {
return codeing + " Hello!";
}
public void setCodeing(String codeing) {
this.codeing = codeing;
}
}
package junit;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import junit.framework.Assert;
import junit.framework.TestCase;
public class TestHello extends TestCase{
public void testDplit() throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, InstantiationException{
Class c = Class.forName("Hello");
Method m1 = c.getDeclaredMethod("setCodeing", String.class);
Object ins = c.newInstance();
m1.invoke(ins, "qh");
Method m2 = c.getDeclaredMethod("getCodeing");
Assert.assertEquals((String)m2.invoke(ins),"qh Hello!");
}
}
總結(jié)
以上是生活随笔為你收集整理的java的默认_java默认包的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java io流读写文件换行_java基
- 下一篇: java读写锁降级_java的读写锁中锁