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!");
}
}
相关文档:
JVM本身提供了一组管理的API,通过该API,我们可以获取得到JVM内部主要运行信息,包括内存各代的数据、JVM当前所有线程及其栈相关信息等
等。各种JDK自带的剖析工具,包括jps、jstack、jinfo、jstat、jmap、jconsole等,都是基于此API开发的。本篇对这部
分内容进行一个详细的说 ......
一. Incident
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
......
代码如下:
List <?> lines = FileUtils.readLines(new File(fileName));
for(Object line : lines){
}
问题:
1.List <?> 表示什么意思?
2.for括号内部的表达式是什么意思?
1、范型。表示lines中可保存任意类型
2、for-each 语句,作为for(int i=0;i<lines.length;i++){
Object line=lines.get(i ......
1.垃圾回收的必要性
当对象被创建时,会在Java虚拟机中分配一块内存(内存分配-》默认值-》初始化值),在JVM的生命周期中,Java程序在不断地创建对象,如果这些对象的内存不被及时回收,会导致内存空间不足,因此要有一种措施及时回收无用对象的内存,保证内存能够被重复利用。
& ......
封装:
1.说白了就是保护我们对象中的隐私使其对 外部不可见。
2.一般情况下,类中的属性设为private。
3.通过getter和setter方法去赋值和取值。
&nbs ......