---------------
小记:(待定)
所有的类直接或间接继承父类Object,其中有个toString方法,当方法未重写时,输出的是地址值,像数组
char[] c ={'1','2'};
int[] c =new int[2];
String[] c =new String[2];
Systemax.out.println(c);
输出的是地址值,但是char[] 特殊,输出的是12,输出的是字符串;
像String c = "123";(需要初始化)
Systemax.out.println(c);
因为重写了方法toString,所以输出的是123;
直接输出他的真实数据("123"存在于堆内存中的常量池中,c指向该常量);
---------------------
!!!!! 引用数据类型如果作为成员变量使用时都有初始值
1.String这个类是比较常用的类,然后呢,这个类人家已经帮你重写好了,为什么会输出地址值?就是因为我们在用那个类的过程当中,有一些别人没有帮你重写好,这个方法叫做to string。
2.而因为这个String这个类比较常用,所以呢,那个JDK在创建这个类的时候,在设计这个类的时候呢,帮你把那个toString方法做了一个重写,也就是自定义帮你转换成你看得懂的模式输出了。
3.像我们平时自己定义的数组这一种,那系统不知道你定义的是什么数组,也不知道长度是多少。像这种的话呢,他就不会去给你重写那个方法,而且数组也没有方法,所以我们平时输出数组的时候都是一个地址值嘛。