java的默认_java默认包的使用
最近在寫java測試程序的時候突然遇到了一個問題:java默認包中的public類是不能在其他包中直接調用的
首先,總結一下默認包中類的使用范圍,java默認包中的類可以實例化其它包中的public類,但是其它包中的類是不能顯式實例化默認包中的類這個特性在JDK1.4以后的版本成立;
其次,可以通過反射來訪問默認包中的類,例如下面代碼
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!");
}
}
總結
以上是生活随笔為你收集整理的java的默认_java默认包的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java io流读写文件换行_java基
- 下一篇: java读写锁降级_java的读写锁中锁