1.我自己写了一个类,代码如下:
public class Test {
private final int i;
public Test(int i) {
// TODO Auto-generated constructor stub
this.i = i;
} /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(new Test(123));
System.out.println(new Integer(123)); }}
为什么System.out.println(new Test(123));的结果是Test@35ce36
而System.out.println(new Integer(123));的结果是123 ?不解。2.int[] j=new int[3];int[]是个类吗?为什么可以new int[3]呢?
多谢各位指点

解决方案 »

  1.   

    个人理解。一般自定义的类,直接输出的话,会输出这个对象的内存地址类似Test@35ce36.而这些包装类会输出它所表示的值,我也没深入想过
      

  2.   

    你没有覆盖 toString()方法,System.out.println(par) 会调用par的toString()方法。
    public class Test {
    private final int i;
    public Test(int i) {
    // TODO Auto-generated constructor stub
    this.i = i;
    }
    public String toString(){
        StringBuffer tmp = new StringBuffer();
        tmp.append(i);
        return tmp.toString();
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println(new Test(123));
    System.out.println(new Integer(123)); }}这样出来就会有了,
    呵呵!
      

  3.   

    int[] j=new int[3];是定义一个整数数组,可以放入3个整数。
      

  4.   

    Nuage(无痕)仁兄我知道new int[3]是定义个整数数组,我想知道,int[]是一个类吗?不然为什么能new它呢
      

  5.   

    1 System.out.println(new Test(123));中,new Test(123)你打印的是一个类,它会调用"默认"的toString方法,如果你想打印出想要的结果,需要覆盖toString方法。2 int[] j=new int[3];表示定义了一个含3个元素的int型数组j呵呵,好久没看这些基础知识了,可能都忘了,应该是这么理解的吧
      

  6.   

    各位大哥可能误解我的意思了,我知道int[] j=new int[3];表示定义了一个含3个元素的int型数组j,我想问的是:只有当int[] 是一个类的时候才可以创建它的一个对象吧?但是int[]是一个对象吗?为什么我不能看它的源码呢?困惑。
      

  7.   

    所有的数组都是一个类,你可以用Class类的isArray方法来判断一个对象是不是数组。