- Java中,一个变量的类型可以是基本数据类型如int,也可以是类。也就是说Java中的一个变量可能是一个对象。
- Java中的类对象变量并不是真的类对象(绕不?绕就对了-.-)
这个关系可以用c++中的引用来解释(啥?没学过c++,那往下看吧)
简单来说,当仅仅定义一个类变量而没有初始化的时候,仅仅是定义了一个引用,它与任何对象都没关系,也不能使用(这个会被当作编译错误的)。
啥是定义一个类变量?for example:String name;//这就是定义了一个类变量且没有初始化
怎么初始化? 可以定义类变量之后给它赋值也可以在定义的时候就初始化,比如 String name=new String(“大佬”);或者String name;name=new String(“大佬”);
介个时候,才能使用name这个变量。
当然啦,因为String这个类比较特殊,java允许不适用构造函数和new显式创建String对象,而可以直接写作:String name=“大佬”; - 对象变量的赋值:这个敲黑板啊敲黑板!!如果有两个类变量,将其中一个赋值给另一个,其实是改变了引用的指向。举例来说,String name_1=“菜鸟”; 当进行赋值name_1=name;的时候,完成的是name和name_1都表示“大佬”这个string对象。对于指向的这个问题,个人以为是内部的东西,所以赋值的时候只需要理解赋值之后两个变量就完全相同了就行。改变其一另一个也会变化。对“菜鸟”这个对象实体,就会被当做垃圾被家擦自动垃圾回收机制给处理掉
(太阔脸了,菜鸟么得地位啊) - 方法调用中,当参数是类对象的时候,也相当于引用,在方法中若修改了对象参数的成员值,则这个对象本身也被修改。
- 方法的返回值可以是基本类型或者是类。这跟1是相符的。