一.
1. 操作系统执行具体工作,应用程序发指令给操作系统,
2. 操作系统询问应用程序的身份,验证应用程序的访问权限,
3. 应用程序如何获得身份信息,桌面程序与服务程序的区别,
二 .
集成ant和junit时,不仅测试程序需要junit.jar,ant的junit任务本身也需要junit.jar.当然,如果你怕麻烦也可以这样做:把junit.jar文件拷到"jdk安装目录\jre\lib\ext"目录下就OK了.
三.
junit任务测试程序时,如果想让程序中的System.out.println()语句要打印的内容显示在命令行窗口中只要设置<formatter>元素中的"usefile"属性为"false"就OK了.
四.
要得到一个接口的父接口也用getInterfaces()方法,而不是用getSuperclass()方法.
五.
import java.util.Arrays;
import static java.lang.System.*;//jdk1.5新语法,静态导入System类,在下面要用到System的静态方法时就直接写方法名就可以了.
public class Test
{
public static void main(String[] args)
{
char[] arrChar = {'f','d','g'};
out.println (Arrays.asList(arrChar));
double[] arrDouble = {4.5,76.8,76};
out.println (Arrays.asList(arrDouble));
int[] arrInt = {2,65,878};
out.println (Arrays.asList(arrInt));
String[] arrStr = {"李四","王五","张三"};
out.println (Arrays.asList(arrStr));
Object[] arrObj = {"苹果","西瓜","梨"};
out.println (Arrays.asList(arrObj));
Integer[] arrInteger = {2,65,878};//奇怪吧?这也是jdk1.5的新语法,按以前的写法就应该这样:
//Integer[] arrInteger={new Integer(2),new Integer(65),new Integer(878)};
out.println (Arrays.asList(arrInteger));
}
}
运行效果如下:
C:\Documents and Settings\Administrator.IBM150\桌面>java Test
[[C@35ce36]
[[D@757aef]
[[I@d9f9c3]
[李四, 王五, 张三]
[苹果, 西瓜, 梨]
[2, 65, 878]
从运行结果可以看出Arrays.asList()方法想查看数组中的数据时只对对象数组有用.这说明jdk1.5新语法的自动装箱和拆箱对数组不起作用.
六.
在代理实例上的 java.lang.Object 中声明的 hashCode、equals 或 toString 方法的调用将按照与编码和指派接口方法调用相同的方式进行编码,并被指派到调用处理程序的 invoke 方法,如上所述。传递到 invoke 的 Method 对象的声明类是 java.lang.Object。代理类不重写从 java.lang.Object 继承的代理实例的其他公共方法,所以这些方法的调用行为与其对 java.lang.Object 实例的操作一样。
七.
请各位高手解答这个问题.
Interface是否继承Object,如果不是那下面这个方法为什么能编译通过呢?
public static void xxx(Collection c)
{
System.out.println(c.toString() + c.hashCode());
}
如果是,那下面这个方法为什么输出null呢?
Class cls = Class.forName("java.util.Collection");
System.out.println(cls.getSuperclass());