Jdk1.5的新语法和一些java学习的小知识点

一.
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()); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值